X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=vid.h;h=157f1c0b9767c73ebd38c0dc9f0910dd39bc197f;hb=6e3fae0c0bfc1356b07138cc5a8f9e8733bfd04d;hp=900628071844dd7e757952dc50028d6bef40d3e5;hpb=cb9437e103e973ba5833636ba973833945a2a148;p=xonotic%2Fdarkplaces.git diff --git a/vid.h b/vid.h index 90062807..157f1c0b 100644 --- a/vid.h +++ b/vid.h @@ -33,32 +33,29 @@ typedef enum renderpath_e RENDERPATH_GL11, RENDERPATH_GL13, RENDERPATH_GL20, - RENDERPATH_CGGL, RENDERPATH_D3D9, RENDERPATH_D3D10, RENDERPATH_D3D11, + RENDERPATH_SOFT, + RENDERPATH_GLES2 } renderpath_t; typedef struct viddef_support_s { + qboolean gl20shaders; qboolean amd_texture_texture4; qboolean arb_depth_texture; qboolean arb_draw_buffers; - qboolean arb_fragment_shader; qboolean arb_multitexture; qboolean arb_occlusion_query; - qboolean arb_shader_objects; - qboolean arb_shading_language_100; qboolean arb_shadow; qboolean arb_texture_compression; qboolean arb_texture_cube_map; 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; qboolean ext_blend_minmax; qboolean ext_blend_subtract; @@ -100,10 +97,9 @@ typedef struct viddef_s int samples; qboolean stencil; - 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; @@ -114,11 +110,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