wined3d: Require ARB_derivative_control for SM5.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Józef Kucia 2016-07-22 12:28:23 +02:00 committed by Alexandre Julliard
parent 80c8c23573
commit fa42e3bb34
1 changed files with 2 additions and 8 deletions

View File

@ -3564,18 +3564,11 @@ static void shader_glsl_map2gl(const struct wined3d_shader_instruction *ins)
static void shader_glsl_derivative(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_gl_info *gl_info = ins->ctx->gl_info;
struct wined3d_string_buffer *buffer = ins->ctx->buffer;
struct glsl_src_param src_param;
const char *instruction;
DWORD write_mask;
if (!gl_info->supported[ARB_DERIVATIVE_CONTROL])
{
FIXME("OpenGL implementation does not support ARB_derivative_control.\n");
return;
}
switch (ins->handler_idx)
{
case WINED3DSIH_DSX_COARSE: instruction = "dFdxCoarse"; break;
@ -8576,7 +8569,8 @@ static void shader_glsl_get_caps(const struct wined3d_gl_info *gl_info, struct s
* (ARB_compute_shader, ARB_tessellation_shader, ARB_gpu_shader5, ...) as
* soon as we introduce them, adjusting the GL / GLSL version checks
* accordingly. */
if (gl_info->glsl_version >= MAKEDWORD_VERSION(4, 30) && gl_info->supported[WINED3D_GL_VERSION_4_3])
if (gl_info->glsl_version >= MAKEDWORD_VERSION(4, 30) && gl_info->supported[WINED3D_GL_VERSION_4_3]
&& gl_info->supported[ARB_DERIVATIVE_CONTROL])
shader_model = 5;
else if (gl_info->glsl_version >= MAKEDWORD_VERSION(1, 50) && gl_info->supported[WINED3D_GL_VERSION_3_2]
&& gl_info->supported[ARB_SHADER_BIT_ENCODING] && gl_info->supported[ARB_SAMPLER_OBJECTS]