wined3d: Add support for ARB_depth_clamp.
This commit is contained in:
parent
89e7addf9c
commit
078273afa6
|
@ -56,6 +56,7 @@ static const struct {
|
||||||
/* ARB */
|
/* ARB */
|
||||||
{"GL_ARB_color_buffer_float", ARB_COLOR_BUFFER_FLOAT, 0 },
|
{"GL_ARB_color_buffer_float", ARB_COLOR_BUFFER_FLOAT, 0 },
|
||||||
{"GL_ARB_depth_buffer_float", ARB_DEPTH_BUFFER_FLOAT, 0 },
|
{"GL_ARB_depth_buffer_float", ARB_DEPTH_BUFFER_FLOAT, 0 },
|
||||||
|
{"GL_ARB_depth_clamp", ARB_DEPTH_CLAMP, 0 },
|
||||||
{"GL_ARB_depth_texture", ARB_DEPTH_TEXTURE, 0 },
|
{"GL_ARB_depth_texture", ARB_DEPTH_TEXTURE, 0 },
|
||||||
{"GL_ARB_draw_buffers", ARB_DRAW_BUFFERS, 0 },
|
{"GL_ARB_draw_buffers", ARB_DRAW_BUFFERS, 0 },
|
||||||
{"GL_ARB_fragment_program", ARB_FRAGMENT_PROGRAM, 0 },
|
{"GL_ARB_fragment_program", ARB_FRAGMENT_PROGRAM, 0 },
|
||||||
|
@ -1662,6 +1663,11 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_gl_info *gl_info)
|
||||||
TRACE_(d3d_caps)(" IMPLIED: NVIDIA (NV) Texture Gen Reflection support.\n");
|
TRACE_(d3d_caps)(" IMPLIED: NVIDIA (NV) Texture Gen Reflection support.\n");
|
||||||
gl_info->supported[NV_TEXGEN_REFLECTION] = TRUE;
|
gl_info->supported[NV_TEXGEN_REFLECTION] = TRUE;
|
||||||
}
|
}
|
||||||
|
if (!gl_info->supported[ARB_DEPTH_CLAMP] && gl_info->supported[NV_DEPTH_CLAMP])
|
||||||
|
{
|
||||||
|
TRACE_(d3d_caps)(" IMPLIED: ARB_depth_clamp support (by NV_depth_clamp).\n");
|
||||||
|
gl_info->supported[ARB_DEPTH_CLAMP] = TRUE;
|
||||||
|
}
|
||||||
if (gl_info->supported[NV_TEXTURE_SHADER2])
|
if (gl_info->supported[NV_TEXTURE_SHADER2])
|
||||||
{
|
{
|
||||||
if (gl_info->supported[NV_REGISTER_COMBINERS])
|
if (gl_info->supported[NV_REGISTER_COMBINERS])
|
||||||
|
|
|
@ -564,16 +564,18 @@ static void state_clipping(DWORD state, IWineD3DStateBlockImpl *stateblock, stru
|
||||||
if (stateblock->renderState[WINED3DRS_CLIPPING]) {
|
if (stateblock->renderState[WINED3DRS_CLIPPING]) {
|
||||||
enable = stateblock->renderState[WINED3DRS_CLIPPLANEENABLE];
|
enable = stateblock->renderState[WINED3DRS_CLIPPLANEENABLE];
|
||||||
disable = ~stateblock->renderState[WINED3DRS_CLIPPLANEENABLE];
|
disable = ~stateblock->renderState[WINED3DRS_CLIPPLANEENABLE];
|
||||||
if(GL_SUPPORT(NV_DEPTH_CLAMP)) {
|
if (GL_SUPPORT(ARB_DEPTH_CLAMP))
|
||||||
glDisable(GL_DEPTH_CLAMP_NV);
|
{
|
||||||
checkGLcall("glDisable(GL_DEPTH_CLAMP_NV)");
|
glDisable(GL_DEPTH_CLAMP);
|
||||||
|
checkGLcall("glDisable(GL_DEPTH_CLAMP)");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
disable = 0xffffffff;
|
disable = 0xffffffff;
|
||||||
enable = 0x00;
|
enable = 0x00;
|
||||||
if(GL_SUPPORT(NV_DEPTH_CLAMP)) {
|
if (GL_SUPPORT(ARB_DEPTH_CLAMP))
|
||||||
glEnable(GL_DEPTH_CLAMP_NV);
|
{
|
||||||
checkGLcall("glEnable(GL_DEPTH_CLAMP_NV)");
|
glEnable(GL_DEPTH_CLAMP);
|
||||||
|
checkGLcall("glEnable(GL_DEPTH_CLAMP)");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1528,6 +1528,12 @@ typedef void (WINE_GLAPI *PGLFNCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
|
||||||
#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8dad
|
#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8dad
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* GL_ARB_depth_clamp */
|
||||||
|
#ifndef GL_ARB_depth_clamp
|
||||||
|
#define GL_ARB_depth_clamp 1
|
||||||
|
#define GL_DEPTH_CLAMP 0x864f
|
||||||
|
#endif
|
||||||
|
|
||||||
/* GL_ARB_depth_texture */
|
/* GL_ARB_depth_texture */
|
||||||
#ifndef GL_ARB_depth_texture
|
#ifndef GL_ARB_depth_texture
|
||||||
#define GL_ARB_depth_texture 1
|
#define GL_ARB_depth_texture 1
|
||||||
|
@ -3405,6 +3411,7 @@ typedef enum _GL_SupportedExt {
|
||||||
/* ARB */
|
/* ARB */
|
||||||
ARB_COLOR_BUFFER_FLOAT,
|
ARB_COLOR_BUFFER_FLOAT,
|
||||||
ARB_DEPTH_BUFFER_FLOAT,
|
ARB_DEPTH_BUFFER_FLOAT,
|
||||||
|
ARB_DEPTH_CLAMP,
|
||||||
ARB_DEPTH_TEXTURE,
|
ARB_DEPTH_TEXTURE,
|
||||||
ARB_DRAW_BUFFERS,
|
ARB_DRAW_BUFFERS,
|
||||||
ARB_FRAGMENT_PROGRAM,
|
ARB_FRAGMENT_PROGRAM,
|
||||||
|
|
Loading…
Reference in New Issue