Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 27/04/17 01:01, Nicolai Hähnle wrote: On 26.04.2017 12:16, Timothy Arceri wrote: On 26/04/17 20:14, Timothy Arceri wrote: On 26/04/17 19:50, Timothy Arceri wrote: On 26/04/17 17:28, Nicolai Hähnle wrote: On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. BTW, what about samplers? It seems that this code doesn't check for samplers at all? That's because this is one of those places where OpenGL is totally inconsistent. Samplers were already allowed, this was a really pain for implementing indirect indexing, especially when throwing AoA into the mix. Samuel it would be really good to have some piglit tests for images. e.g. Arrays of structs with arrays of images, etc. There should be some examples in the ARB_gpu_shader5 and ARB_arrays_of_arrays execution piglit tests. Anyway, this patch: Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. I believe there was a spec bug filed for this (maybe internally). We should probably check if that has been resolved. If so we might just have to remove this check completely. From what I recall there was a spec bug where the outcome said samplers in structs were allowed and atomics were not. This is what the FINISHME is talking about. Currently the spec doesn't say images are not allowed. I should clarify that this outcome was decided in a separate bug report from images. Which bug report was this? The atomic bug report was 10903. I don't have access to the private bugzilla at the moment so I can't lookup the image bug report. I got the atomic number from an old git commit. Cheers, Nicolai ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 26.04.2017 12:16, Timothy Arceri wrote: On 26/04/17 20:14, Timothy Arceri wrote: On 26/04/17 19:50, Timothy Arceri wrote: On 26/04/17 17:28, Nicolai Hähnle wrote: On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. BTW, what about samplers? It seems that this code doesn't check for samplers at all? That's because this is one of those places where OpenGL is totally inconsistent. Samplers were already allowed, this was a really pain for implementing indirect indexing, especially when throwing AoA into the mix. Samuel it would be really good to have some piglit tests for images. e.g. Arrays of structs with arrays of images, etc. There should be some examples in the ARB_gpu_shader5 and ARB_arrays_of_arrays execution piglit tests. Anyway, this patch: Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. I believe there was a spec bug filed for this (maybe internally). We should probably check if that has been resolved. If so we might just have to remove this check completely. From what I recall there was a spec bug where the outcome said samplers in structs were allowed and atomics were not. This is what the FINISHME is talking about. Currently the spec doesn't say images are not allowed. I should clarify that this outcome was decided in a separate bug report from images. Which bug report was this? Cheers, Nicolai ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev -- Lerne, wie die Welt wirklich ist, Aber vergiss niemals, wie sie sein sollte. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 26/04/17 20:14, Timothy Arceri wrote: On 26/04/17 19:50, Timothy Arceri wrote: On 26/04/17 17:28, Nicolai Hähnle wrote: On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. BTW, what about samplers? It seems that this code doesn't check for samplers at all? That's because this is one of those places where OpenGL is totally inconsistent. Samplers were already allowed, this was a really pain for implementing indirect indexing, especially when throwing AoA into the mix. Samuel it would be really good to have some piglit tests for images. e.g. Arrays of structs with arrays of images, etc. There should be some examples in the ARB_gpu_shader5 and ARB_arrays_of_arrays execution piglit tests. Anyway, this patch: Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. I believe there was a spec bug filed for this (maybe internally). We should probably check if that has been resolved. If so we might just have to remove this check completely. From what I recall there was a spec bug where the outcome said samplers in structs were allowed and atomics were not. This is what the FINISHME is talking about. Currently the spec doesn't say images are not allowed. I should clarify that this outcome was decided in a separate bug report from images. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 04/26/2017 12:14 PM, Timothy Arceri wrote: On 26/04/17 19:50, Timothy Arceri wrote: On 26/04/17 17:28, Nicolai Hähnle wrote: On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. BTW, what about samplers? It seems that this code doesn't check for samplers at all? That's because this is one of those places where OpenGL is totally inconsistent. Samplers were already allowed, this was a really pain for implementing indirect indexing, especially when throwing AoA into the mix. Samuel it would be really good to have some piglit tests for images. e.g. Arrays of structs with arrays of images, etc. There should be some examples in the ARB_gpu_shader5 and ARB_arrays_of_arrays execution piglit tests. Anyway, this patch: Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. I believe there was a spec bug filed for this (maybe internally). We should probably check if that has been resolved. If so we might just have to remove this check completely. From what I recall there was a spec bug where the outcome said samplers in structs were allowed and atomics were not. This is what the FINISHME is talking about. Currently the spec doesn't say images are not allowed. Right. Would be nice to clarify the situation here. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 26/04/17 19:50, Timothy Arceri wrote: On 26/04/17 17:28, Nicolai Hähnle wrote: On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. BTW, what about samplers? It seems that this code doesn't check for samplers at all? That's because this is one of those places where OpenGL is totally inconsistent. Samplers were already allowed, this was a really pain for implementing indirect indexing, especially when throwing AoA into the mix. Samuel it would be really good to have some piglit tests for images. e.g. Arrays of structs with arrays of images, etc. There should be some examples in the ARB_gpu_shader5 and ARB_arrays_of_arrays execution piglit tests. Anyway, this patch: Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. I believe there was a spec bug filed for this (maybe internally). We should probably check if that has been resolved. If so we might just have to remove this check completely. From what I recall there was a spec bug where the outcome said samplers in structs were allowed and atomics were not. This is what the FINISHME is talking about. Currently the spec doesn't say images are not allowed. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 26/04/17 17:28, Nicolai Hähnle wrote: On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. BTW, what about samplers? It seems that this code doesn't check for samplers at all? That's because this is one of those places where OpenGL is totally inconsistent. Samplers were already allowed, this was a really pain for implementing indirect indexing, especially when throwing AoA into the mix. Samuel it would be really good to have some piglit tests for images. e.g. Arrays of structs with arrays of images, etc. There should be some examples in the ARB_gpu_shader5 and ARB_arrays_of_arrays execution piglit tests. Anyway, this patch: Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 04/26/2017 09:28 AM, Nicolai Hähnle wrote: On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. Yep. :) BTW, what about samplers? It seems that this code doesn't check for samplers at all? Anyway, this patch: Nothing particular to do for samplers. But there is one additional check for image types. Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
On 26.04.2017 04:45, Timothy Arceri wrote: Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Okay, that answers my question from the other email. BTW, what about samplers? It seems that this code doesn't check for samplers at all? Anyway, this patch: Reviewed-by: Nicolai Hähnle Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev -- Lerne, wie die Welt wirklich ist, Aber vergiss niemals, wie sie sein sollte. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v2 12/31] glsl: allow bindless images to be declared inside structures
Reviewed-by: Timothy Arceri On 24/04/17 20:35, Samuel Pitoiset wrote: The spec doesn't clearly state this, but I have got clarifiation from the spec authors. Signed-off-by: Samuel Pitoiset --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index a63f9da912..5ef99bf504 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -6944,7 +6944,7 @@ ast_process_struct_or_iface_block_members(exec_list *instructions, _mesa_glsl_error(&loc, state, "atomic counter in structure"); } - if (decl_type->contains_image()) { + if (!state->has_bindless() && decl_type->contains_image()) { /* FINISHME: Same problem as with atomic counters. * FINISHME: Request clarification from Khronos and add * FINISHME: spec quotation here. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev