Re: [Mesa-dev] [PATCH 3/3] radv: add VK_KHR_shader_atomic_int64 but disable it for now
hmm, should work by design if we keep the entry but make it False. Let me look into it. On Wed, Apr 17, 2019 at 9:59 PM Samuel Pitoiset wrote: > > > On 4/17/19 9:05 PM, Samuel Pitoiset wrote: > > > > On 4/17/19 8:52 PM, Bas Nieuwenhuizen wrote: > >> On Tue, Apr 16, 2019 at 10:35 AM Samuel Pitoiset > >> wrote: > >>> No support for 64-bit compare atomic operations. > >>> > >>> Signed-off-by: Samuel Pitoiset > >>> --- > >>> src/amd/vulkan/radv_device.c | 10 ++ > >>> src/amd/vulkan/radv_extensions.py | 1 + > >>> src/amd/vulkan/radv_shader.c | 1 + > >>> 3 files changed, 12 insertions(+) > >>> > >>> diff --git a/src/amd/vulkan/radv_device.c > >>> b/src/amd/vulkan/radv_device.c > >>> index 1f77dcadb17..13021a9f2da 100644 > >>> --- a/src/amd/vulkan/radv_device.c > >>> +++ b/src/amd/vulkan/radv_device.c > >>> @@ -906,6 +906,16 @@ void radv_GetPhysicalDeviceFeatures2( > >>> features->shaderInt8 = true; > >>> break; > >>> } > >>> + case > >>> VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: { > >>> + VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = > >>> + (VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *)ext; > >>> + /* TODO: Enable this once the driver > >>> supports 64-bit > >>> +* compare atomic operations. > >>> +*/ > >>> + features->shaderBufferInt64Atomics = false; > >>> + features->shaderSharedInt64Atomics = false; > >>> + break; > >>> + } > >>> default: > >>> break; > >>> } > >>> diff --git a/src/amd/vulkan/radv_extensions.py > >>> b/src/amd/vulkan/radv_extensions.py > >>> index 13fe391e623..2d2d3f0c447 100644 > >>> --- a/src/amd/vulkan/radv_extensions.py > >>> +++ b/src/amd/vulkan/radv_extensions.py > >>> @@ -81,6 +81,7 @@ EXTENSIONS = [ > >>> Extension('VK_KHR_push_descriptor', 1, True), > >>> Extension('VK_KHR_relaxed_block_layout', 1, True), > >>> Extension('VK_KHR_sampler_mirror_clamp_to_edge', 1, True), > >>> +Extension('VK_KHR_shader_atomic_int64', 1, > >>> 'HAVE_LLVM >= 0x900'), > >> I'd prefer we make this constant False as long we never enable any of > >> the features. > >> > >> Otherwise r-b for the series. > > Looks good to me, I will fix before pushing, thanks! > > Oh we can't do this, it introduces a compilation error. > > src/amd/vulkan/radv_extensions.c:163:4: note: (near initialization for > ‘radv_device_extensions’) > src/amd/vulkan/radv_extensions.c: In function > ‘radv_fill_device_extension_table’: > src/amd/vulkan/radv_extensions.c:214:11: error: ‘struct > radv_device_extension_table’ has no member named > ‘KHR_shader_atomic_int64’; did you mean ‘KHR_shader_float16_int8’? > table->KHR_shader_atomic_int64 = false && > (instance->enabled_extensions.KHR_get_physical_device_properties2 || > instance->apiVersion >= VK_API_VERSION_1_1); > ^~~ > KHR_shader_float16_int8 > > >> > >>> Extension('VK_KHR_shader_draw_parameters',1, True), > >>> Extension('VK_KHR_shader_float16_int8', 1, True), > >>> Extension('VK_KHR_storage_buffer_storage_class', 1, True), > >>> diff --git a/src/amd/vulkan/radv_shader.c > >>> b/src/amd/vulkan/radv_shader.c > >>> index a9677094772..c802abb0e08 100644 > >>> --- a/src/amd/vulkan/radv_shader.c > >>> +++ b/src/amd/vulkan/radv_shader.c > >>> @@ -235,6 +235,7 @@ radv_shader_compile_to_nir(struct radv_device > >>> *device, > >>> .int8 = true, > >>> .int16 = true, > >>> .int64 = true, > >>> + .int64_atomics = true, > >>> .multiview = true, > >>> .physical_storage_buffer_address = true, > >>> .runtime_descriptor_array = true, > >>> -- > >>> 2.21.0 > >>> > >>> ___ > >>> 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 3/3] radv: add VK_KHR_shader_atomic_int64 but disable it for now
On 4/17/19 9:05 PM, Samuel Pitoiset wrote: On 4/17/19 8:52 PM, Bas Nieuwenhuizen wrote: On Tue, Apr 16, 2019 at 10:35 AM Samuel Pitoiset wrote: No support for 64-bit compare atomic operations. Signed-off-by: Samuel Pitoiset --- src/amd/vulkan/radv_device.c | 10 ++ src/amd/vulkan/radv_extensions.py | 1 + src/amd/vulkan/radv_shader.c | 1 + 3 files changed, 12 insertions(+) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 1f77dcadb17..13021a9f2da 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -906,6 +906,16 @@ void radv_GetPhysicalDeviceFeatures2( features->shaderInt8 = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: { + VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = + (VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *)ext; + /* TODO: Enable this once the driver supports 64-bit + * compare atomic operations. + */ + features->shaderBufferInt64Atomics = false; + features->shaderSharedInt64Atomics = false; + break; + } default: break; } diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index 13fe391e623..2d2d3f0c447 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -81,6 +81,7 @@ EXTENSIONS = [ Extension('VK_KHR_push_descriptor', 1, True), Extension('VK_KHR_relaxed_block_layout', 1, True), Extension('VK_KHR_sampler_mirror_clamp_to_edge', 1, True), + Extension('VK_KHR_shader_atomic_int64', 1, 'HAVE_LLVM >= 0x900'), I'd prefer we make this constant False as long we never enable any of the features. Otherwise r-b for the series. Looks good to me, I will fix before pushing, thanks! Oh we can't do this, it introduces a compilation error. src/amd/vulkan/radv_extensions.c:163:4: note: (near initialization for ‘radv_device_extensions’) src/amd/vulkan/radv_extensions.c: In function ‘radv_fill_device_extension_table’: src/amd/vulkan/radv_extensions.c:214:11: error: ‘struct radv_device_extension_table’ has no member named ‘KHR_shader_atomic_int64’; did you mean ‘KHR_shader_float16_int8’? table->KHR_shader_atomic_int64 = false && (instance->enabled_extensions.KHR_get_physical_device_properties2 || instance->apiVersion >= VK_API_VERSION_1_1); ^~~ KHR_shader_float16_int8 Extension('VK_KHR_shader_draw_parameters', 1, True), Extension('VK_KHR_shader_float16_int8', 1, True), Extension('VK_KHR_storage_buffer_storage_class', 1, True), diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index a9677094772..c802abb0e08 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -235,6 +235,7 @@ radv_shader_compile_to_nir(struct radv_device *device, .int8 = true, .int16 = true, .int64 = true, + .int64_atomics = true, .multiview = true, .physical_storage_buffer_address = true, .runtime_descriptor_array = true, -- 2.21.0 ___ 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 3/3] radv: add VK_KHR_shader_atomic_int64 but disable it for now
On 4/17/19 8:52 PM, Bas Nieuwenhuizen wrote: On Tue, Apr 16, 2019 at 10:35 AM Samuel Pitoiset wrote: No support for 64-bit compare atomic operations. Signed-off-by: Samuel Pitoiset --- src/amd/vulkan/radv_device.c | 10 ++ src/amd/vulkan/radv_extensions.py | 1 + src/amd/vulkan/radv_shader.c | 1 + 3 files changed, 12 insertions(+) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 1f77dcadb17..13021a9f2da 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -906,6 +906,16 @@ void radv_GetPhysicalDeviceFeatures2( features->shaderInt8 = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: { + VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = + (VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *)ext; + /* TODO: Enable this once the driver supports 64-bit +* compare atomic operations. +*/ + features->shaderBufferInt64Atomics = false; + features->shaderSharedInt64Atomics = false; + break; + } default: break; } diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index 13fe391e623..2d2d3f0c447 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -81,6 +81,7 @@ EXTENSIONS = [ Extension('VK_KHR_push_descriptor', 1, True), Extension('VK_KHR_relaxed_block_layout', 1, True), Extension('VK_KHR_sampler_mirror_clamp_to_edge', 1, True), +Extension('VK_KHR_shader_atomic_int64', 1, 'HAVE_LLVM >= 0x900'), I'd prefer we make this constant False as long we never enable any of the features. Otherwise r-b for the series. Looks good to me, I will fix before pushing, thanks! Extension('VK_KHR_shader_draw_parameters',1, True), Extension('VK_KHR_shader_float16_int8', 1, True), Extension('VK_KHR_storage_buffer_storage_class', 1, True), diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index a9677094772..c802abb0e08 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -235,6 +235,7 @@ radv_shader_compile_to_nir(struct radv_device *device, .int8 = true, .int16 = true, .int64 = true, + .int64_atomics = true, .multiview = true, .physical_storage_buffer_address = true, .runtime_descriptor_array = true, -- 2.21.0 ___ 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 3/3] radv: add VK_KHR_shader_atomic_int64 but disable it for now
On Tue, Apr 16, 2019 at 10:35 AM Samuel Pitoiset wrote: > > No support for 64-bit compare atomic operations. > > Signed-off-by: Samuel Pitoiset > --- > src/amd/vulkan/radv_device.c | 10 ++ > src/amd/vulkan/radv_extensions.py | 1 + > src/amd/vulkan/radv_shader.c | 1 + > 3 files changed, 12 insertions(+) > > diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c > index 1f77dcadb17..13021a9f2da 100644 > --- a/src/amd/vulkan/radv_device.c > +++ b/src/amd/vulkan/radv_device.c > @@ -906,6 +906,16 @@ void radv_GetPhysicalDeviceFeatures2( > features->shaderInt8 = true; > break; > } > + case > VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: { > + VkPhysicalDeviceShaderAtomicInt64FeaturesKHR > *features = > + (VkPhysicalDeviceShaderAtomicInt64FeaturesKHR > *)ext; > + /* TODO: Enable this once the driver supports 64-bit > +* compare atomic operations. > +*/ > + features->shaderBufferInt64Atomics = false; > + features->shaderSharedInt64Atomics = false; > + break; > + } > default: > break; > } > diff --git a/src/amd/vulkan/radv_extensions.py > b/src/amd/vulkan/radv_extensions.py > index 13fe391e623..2d2d3f0c447 100644 > --- a/src/amd/vulkan/radv_extensions.py > +++ b/src/amd/vulkan/radv_extensions.py > @@ -81,6 +81,7 @@ EXTENSIONS = [ > Extension('VK_KHR_push_descriptor', 1, True), > Extension('VK_KHR_relaxed_block_layout', 1, True), > Extension('VK_KHR_sampler_mirror_clamp_to_edge', 1, True), > +Extension('VK_KHR_shader_atomic_int64', 1, 'HAVE_LLVM >= > 0x900'), I'd prefer we make this constant False as long we never enable any of the features. Otherwise r-b for the series. > Extension('VK_KHR_shader_draw_parameters',1, True), > Extension('VK_KHR_shader_float16_int8', 1, True), > Extension('VK_KHR_storage_buffer_storage_class', 1, True), > diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c > index a9677094772..c802abb0e08 100644 > --- a/src/amd/vulkan/radv_shader.c > +++ b/src/amd/vulkan/radv_shader.c > @@ -235,6 +235,7 @@ radv_shader_compile_to_nir(struct radv_device *device, > .int8 = true, > .int16 = true, > .int64 = true, > + .int64_atomics = true, > .multiview = true, > .physical_storage_buffer_address = true, > .runtime_descriptor_array = true, > -- > 2.21.0 > > ___ > 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] [PATCH 3/3] radv: add VK_KHR_shader_atomic_int64 but disable it for now
No support for 64-bit compare atomic operations. Signed-off-by: Samuel Pitoiset --- src/amd/vulkan/radv_device.c | 10 ++ src/amd/vulkan/radv_extensions.py | 1 + src/amd/vulkan/radv_shader.c | 1 + 3 files changed, 12 insertions(+) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 1f77dcadb17..13021a9f2da 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -906,6 +906,16 @@ void radv_GetPhysicalDeviceFeatures2( features->shaderInt8 = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR: { + VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *features = + (VkPhysicalDeviceShaderAtomicInt64FeaturesKHR *)ext; + /* TODO: Enable this once the driver supports 64-bit +* compare atomic operations. +*/ + features->shaderBufferInt64Atomics = false; + features->shaderSharedInt64Atomics = false; + break; + } default: break; } diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index 13fe391e623..2d2d3f0c447 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -81,6 +81,7 @@ EXTENSIONS = [ Extension('VK_KHR_push_descriptor', 1, True), Extension('VK_KHR_relaxed_block_layout', 1, True), Extension('VK_KHR_sampler_mirror_clamp_to_edge', 1, True), +Extension('VK_KHR_shader_atomic_int64', 1, 'HAVE_LLVM >= 0x900'), Extension('VK_KHR_shader_draw_parameters',1, True), Extension('VK_KHR_shader_float16_int8', 1, True), Extension('VK_KHR_storage_buffer_storage_class', 1, True), diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index a9677094772..c802abb0e08 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -235,6 +235,7 @@ radv_shader_compile_to_nir(struct radv_device *device, .int8 = true, .int16 = true, .int64 = true, + .int64_atomics = true, .multiview = true, .physical_storage_buffer_address = true, .runtime_descriptor_array = true, -- 2.21.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev