On 08/17/2015 01:58 PM, Timothy Arceri wrote:
On Mon, 2015-08-17 at 12:25 +0300, Tapani Pälli wrote:
Patch separates array samplers from the texture_multisample check so that we
can enable only [iu]sampler2DMS, [iu]sampler2DMSArray are not supported.

Signed-off-by: Tapani Pälli <tapani.pa...@intel.com>
---
  src/glsl/builtin_functions.cpp | 19 +++++++++++++------
  1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp
index 2175c66..04ad617 100644
--- a/src/glsl/builtin_functions.cpp
+++ b/src/glsl/builtin_functions.cpp
@@ -270,6 +270,13 @@ texture_array(const _mesa_glsl_parse_state *state)
  static bool
  texture_multisample(const _mesa_glsl_parse_state *state)
  {
+   return state->is_version(150, 310) ||
+          state->ARB_texture_multisample_enable;
+}
+
+static bool
+texture_multisample_array(const _mesa_glsl_parse_state *state)
+{
     return state->is_version(150, 0) ||

It seems these are enabled for ES 3.2 you could probably set this to 320 while
your at it.

I can add this version check when enabling GL_OES_texture_storage_multisample_2d_array later.


            state->ARB_texture_multisample_enable;
  }
@@ -1367,9 +1374,9 @@ builtin_builder::create_builtins()
                  _textureSize(texture_multisample, glsl_type::ivec2_type,
glsl_type::isampler2DMS_type),
                  _textureSize(texture_multisample, glsl_type::ivec2_type,
glsl_type::usampler2DMS_type),

-                _textureSize(texture_multisample, glsl_type::ivec3_type,
glsl_type::sampler2DMSArray_type),
-                _textureSize(texture_multisample, glsl_type::ivec3_type,
glsl_type::isampler2DMSArray_type),
-                _textureSize(texture_multisample, glsl_type::ivec3_type,
glsl_type::usampler2DMSArray_type),
+                _textureSize(texture_multisample_array,
glsl_type::ivec3_type, glsl_type::sampler2DMSArray_type),
+                _textureSize(texture_multisample_array,
glsl_type::ivec3_type, glsl_type::isampler2DMSArray_type),
+                _textureSize(texture_multisample_array,
glsl_type::ivec3_type, glsl_type::usampler2DMSArray_type),
                  NULL);

     add_function("texture",
@@ -1632,9 +1639,9 @@ builtin_builder::create_builtins()
                  _texelFetch(texture_multisample, glsl_type::ivec4_type,
glsl_type::isampler2DMS_type, glsl_type::ivec2_type),
                  _texelFetch(texture_multisample, glsl_type::uvec4_type,
glsl_type::usampler2DMS_type, glsl_type::ivec2_type),

-                _texelFetch(texture_multisample, glsl_type::vec4_type,
  glsl_type::sampler2DMSArray_type,  glsl_type::ivec3_type),
-                _texelFetch(texture_multisample, glsl_type::ivec4_type,
glsl_type::isampler2DMSArray_type, glsl_type::ivec3_type),
-                _texelFetch(texture_multisample, glsl_type::uvec4_type,
glsl_type::usampler2DMSArray_type, glsl_type::ivec3_type),
+                _texelFetch(texture_multisample_array,
glsl_type::vec4_type,  glsl_type::sampler2DMSArray_type,
  glsl_type::ivec3_type),
+                _texelFetch(texture_multisample_array,
glsl_type::ivec4_type, glsl_type::isampler2DMSArray_type,
glsl_type::ivec3_type),
+                _texelFetch(texture_multisample_array,
glsl_type::uvec4_type, glsl_type::usampler2DMSArray_type,
glsl_type::ivec3_type),
                  NULL);

     add_function("texelFetchOffset",
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to