X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=vid.h;h=569a63359282bf6e785092aea942adfefc4ec4b9;hb=2dbe17fce49258350f4a501edc8923470f224cb5;hp=52331ae4acf59fd45a5f54537c55d143a3b485fa;hpb=bc9063582a5b12986a3f70b4eaa9ffaf1568f735;p=xonotic%2Fdarkplaces.git diff --git a/vid.h b/vid.h index 52331ae4..569a6335 100644 --- a/vid.h +++ b/vid.h @@ -34,6 +34,10 @@ typedef enum renderpath_e RENDERPATH_GL13, RENDERPATH_GL20, RENDERPATH_CGGL, + RENDERPATH_D3D9, + RENDERPATH_D3D10, + RENDERPATH_D3D11, + RENDERPATH_SOFT } renderpath_t; @@ -53,7 +57,6 @@ typedef struct viddef_support_s qboolean arb_texture_env_combine; qboolean arb_texture_gather; qboolean arb_texture_non_power_of_two; - qboolean arb_texture_rectangle; qboolean arb_vertex_buffer_object; qboolean arb_vertex_shader; qboolean ati_separate_stencil; @@ -100,6 +103,8 @@ typedef struct viddef_s void *cgcontext; renderpath_t renderpath; + qboolean forcevbo; // some renderpaths can not operate without it + qboolean useinterleavedarrays; // required by some renderpaths unsigned int texunits; unsigned int teximageunits; @@ -110,11 +115,17 @@ typedef struct viddef_s unsigned int maxtexturesize_2d; unsigned int maxtexturesize_3d; unsigned int maxtexturesize_cubemap; - unsigned int maxtexturesize_rectangle; unsigned int max_anisotropy; unsigned int maxdrawbuffers; viddef_support_t support; + + // in RENDERPATH_SOFT this is a 32bpp native-endian ARGB framebuffer + // (native-endian ARGB meaning that in little endian it is BGRA bytes, + // in big endian it is ARGB byte order, the format is converted during + // blit to the window) + unsigned int *softpixels; + unsigned int *softdepthpixels; } viddef_t; // global video state @@ -181,12 +192,13 @@ extern qboolean isG200; extern qboolean isRagePro; void *GL_GetProcAddress(const char *name); -int GL_CheckExtension(const char *minglver_or_ext, const dllfunction_t *funcs, const char *disableparm, int silent); +qboolean GL_CheckExtension(const char *minglver_or_ext, const dllfunction_t *funcs, const char *disableparm, int silent); void VID_Shared_Init(void); void GL_Init (void); +void VID_ClearExtensions(void); void VID_CheckExtensions(void); void VID_Init (void);