Commit 4cff8d62 by JiangYizhou Committed by Commit Bot

ES31: TexParameter{if} validation for TEXTURE_2D_MULTISAMPLE on OpenGL

When setting parameters by TexParameter{if} for TEXTURE_2D_MULTISAMPLE, an INVALID_ENUM error is generated if target is TEXTURE_2D_MULTISAMPLE, and pname is any sampler state from table 20.11. An INVALID_OPERATION error is generated if target is TEXTURE_2D_MULTISAMPLE, and pname TEXTURE_BASE_LEVEL is set to a value other than zero. BUG=angleproject:1590 TEST=angle_deqp_gles31_tests.exe --deqp-case=dEQP-GLES31.functional.texture.multisample.negative.texture* Change-Id: I5d71731c11fb6e114a57e753e439e180695a7c79 Reviewed-on: https://chromium-review.googlesource.com/560607 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarYunchao He <yunchao.he@intel.com> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 0f68463f
...@@ -5571,6 +5571,25 @@ bool ValidateTexParameterBase(Context *context, ...@@ -5571,6 +5571,25 @@ bool ValidateTexParameterBase(Context *context,
break; break;
} }
if (target == GL_TEXTURE_2D_MULTISAMPLE)
{
switch (pname)
{
case GL_TEXTURE_MIN_FILTER:
case GL_TEXTURE_MAG_FILTER:
case GL_TEXTURE_WRAP_S:
case GL_TEXTURE_WRAP_T:
case GL_TEXTURE_WRAP_R:
case GL_TEXTURE_MIN_LOD:
case GL_TEXTURE_MAX_LOD:
case GL_TEXTURE_COMPARE_MODE:
case GL_TEXTURE_COMPARE_FUNC:
context->handleError(InvalidEnum()
<< "Invalid parameter for 2D multisampled textures.");
return false;
}
}
switch (pname) switch (pname)
{ {
case GL_TEXTURE_WRAP_S: case GL_TEXTURE_WRAP_S:
...@@ -5675,6 +5694,12 @@ bool ValidateTexParameterBase(Context *context, ...@@ -5675,6 +5694,12 @@ bool ValidateTexParameterBase(Context *context,
<< "Base level must be 0 for external textures."); << "Base level must be 0 for external textures.");
return false; return false;
} }
if (target == GL_TEXTURE_2D_MULTISAMPLE && static_cast<GLuint>(params[0]) != 0)
{
context->handleError(InvalidOperation()
<< "Base level must be 0 for multisampled textures.");
return false;
}
break; break;
case GL_TEXTURE_MAX_LEVEL: case GL_TEXTURE_MAX_LEVEL:
......
...@@ -39,16 +39,6 @@ ...@@ -39,16 +39,6 @@
// OpenGL Failing Tests // OpenGL Failing Tests
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.samples_* = FAIL 1442 OPENGL : dEQP-GLES31.functional.texture.multisample.samples_* = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_min_filter = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_mag_filter = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_wrap_s = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_wrap_t = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_wrap_r = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_min_lod = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_max_lod = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_compare_mode = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_compare_func = FAIL
1442 OPENGL : dEQP-GLES31.functional.texture.multisample.negative.texture_base_level = FAIL
1442 OPENGL : dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_2d_array = FAIL 1442 OPENGL : dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_2d_array = FAIL
1442 OPENGL : dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_4_texture_2d_array = FAIL 1442 OPENGL : dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_4_texture_2d_array = FAIL
1442 OPENGL : dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_int_2d = FAIL 1442 OPENGL : dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_int_2d = FAIL
...@@ -92,7 +82,6 @@ ...@@ -92,7 +82,6 @@
1951 D3D11 : dEQP-GLES31.functional.state_query.indexed.shader_storage_buffer_* = FAIL 1951 D3D11 : dEQP-GLES31.functional.state_query.indexed.shader_storage_buffer_* = FAIL
1442 D3D11 : dEQP-GLES31.functional.state_query.internal_format.renderbuffer.* = FAIL 1442 D3D11 : dEQP-GLES31.functional.state_query.internal_format.renderbuffer.* = FAIL
1679 D3D11 : dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample.* = FAIL 1679 D3D11 : dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample.* = FAIL
1442 D3D11 : dEQP-GLES31.functional.texture.multisample.negative.texture* = FAIL
1442 D3D11 : dEQP-GLES31.functional.texture.multisample.samples* = FAIL 1442 D3D11 : dEQP-GLES31.functional.texture.multisample.samples* = FAIL
1442 D3D11 : dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default_width_get_framebuffer_parameteriv = FAIL 1442 D3D11 : dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default_width_get_framebuffer_parameteriv = FAIL
1442 D3D11 : dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default_height_get_framebuffer_parameteriv = FAIL 1442 D3D11 : dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default_height_get_framebuffer_parameteriv = FAIL
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment