On 17/08/15 18:14, Matt Turner wrote:
On Mon, Aug 17, 2015 at 9:46 AM, Francisco Jerez <curroje...@riseup.net> wrote:
This is basically just the same atomic functions exposed by
ARB_shader_image_load_store, with one exception:

     "highp float imageAtomicExchange(
          coherent IMAGE_PARAMS,
          float data);"

There's no float atomic exchange overload in the original
ARB_shader_image_load_store or GL 4.2, so this seems like new
functionality that requires specific back-end support and a separate
availability condition in the built-in function generator.
---
  src/glsl/builtin_functions.cpp | 25 ++++++++++++++++++++-----
  1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp
index c53858e..444d0ee 100644
--- a/src/glsl/builtin_functions.cpp
+++ b/src/glsl/builtin_functions.cpp
@@ -401,8 +401,16 @@ shader_image_load_store(const _mesa_glsl_parse_state 
*state)
  static bool
  shader_image_atomic(const _mesa_glsl_parse_state *state)
  {
-   return (state->is_version(420, 0) ||
-           state->ARB_shader_image_load_store_enable);
+   return (state->is_version(420, 320) ||
+           state->ARB_shader_image_load_store_enable ||
+           state->OES_shader_image_atomic_enable);
+}
+
+static bool
+shader_image_atomic_exchange_float(const _mesa_glsl_parse_state *state)
+{
+   return (state->is_version(450, 320) ||
+           state->OES_shader_image_atomic_enable);
  }

  static bool
@@ -506,7 +514,8 @@ private:
        IMAGE_FUNCTION_SUPPORTS_FLOAT_DATA_TYPE = (1 << 3),
        IMAGE_FUNCTION_READ_ONLY = (1 << 4),
        IMAGE_FUNCTION_WRITE_ONLY = (1 << 5),
-      IMAGE_FUNCTION_AVAIL_ATOMIC = (1 << 6)
+      IMAGE_FUNCTION_AVAIL_ATOMIC = (1 << 6),
+      IMAGE_FUNCTION_AVAIL_ATOMIC_EXCHANGE = (1 << 7)

I wonder if MSVC is okay with a trailing comma here?


Yes, MSVC is OK with additional commas on enums.

Jose

PS: I was on PTO last week and I'm still catching up on email.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to