From f366f6a07163d757dcd881dfe353951bbfd25710 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 5 Aug 2020 16:53:12 -0500 Subject: [PATCH] anv: Add minimal boilerplate for VK_KHR_ray_tracing_pipeline Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan/anv_cmd_buffer.c | 6 +++++ src/intel/vulkan/anv_pipeline.c | 37 ++++++++++++++++++++++++++++++ src/intel/vulkan/genX_cmd_buffer.c | 26 +++++++++++++++++++++ src/intel/vulkan/genX_pipeline.c | 14 +++++++++++ 4 files changed, 83 insertions(+) diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 25179543630..8daa5bb4c45 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -1525,3 +1525,9 @@ void anv_CmdSetFragmentShadingRateKHR( cmd_buffer->state.gfx.dynamic.fragment_shading_rate = *pFragmentSize; cmd_buffer->state.gfx.dirty |= ANV_CMD_DIRTY_DYNAMIC_SHADING_RATE; } + +void anv_CmdSetRayTracingPipelineStackSizeKHR( + VkCommandBuffer commandBuffer, + uint32_t pipelineStackSize) +{ +} diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 663be210793..4ccd8122286 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -2615,3 +2615,40 @@ VkResult anv_GetPipelineExecutableInternalRepresentationsKHR( return incomplete_text ? VK_INCOMPLETE : vk_outarray_status(&out); } + +VkResult +anv_GetRayTracingShaderGroupHandlesKHR( + VkDevice device, + VkPipeline pipeline, + uint32_t firstGroup, + uint32_t groupCount, + size_t dataSize, + void* pData) +{ + unreachable("Unimplemented"); + return vk_error(VK_ERROR_FEATURE_NOT_PRESENT); +} + +VkResult +anv_GetRayTracingCaptureReplayShaderGroupHandlesKHR( + VkDevice device, + VkPipeline pipeline, + uint32_t firstGroup, + uint32_t groupCount, + size_t dataSize, + void* pData) +{ + unreachable("Unimplemented"); + return vk_error(VK_ERROR_FEATURE_NOT_PRESENT); +} + +VkDeviceSize +anv_GetRayTracingShaderGroupStackSizeKHR( + VkDevice device, + VkPipeline pipeline, + uint32_t group, + VkShaderGroupShaderKHR groupShader) +{ + unreachable("Unimplemented"); + return 0; +} diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c index 90811ea8eff..8c7dce37fe7 100644 --- a/src/intel/vulkan/genX_cmd_buffer.c +++ b/src/intel/vulkan/genX_cmd_buffer.c @@ -4925,6 +4925,32 @@ void genX(CmdDispatchIndirect)( emit_cs_walker(cmd_buffer, pipeline, true, prog_data, 0, 0, 0); } +void +genX(CmdTraceRaysKHR)( + VkCommandBuffer commandBuffer, + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, + uint32_t width, + uint32_t height, + uint32_t depth) +{ + unreachable("Unimplemented"); +} + +void +genX(CmdTraceRaysIndirectKHR)( + VkCommandBuffer commandBuffer, + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, + VkDeviceAddress indirectDeviceAddress) +{ + unreachable("Unimplemented"); +} + static void genX(flush_pipeline_select)(struct anv_cmd_buffer *cmd_buffer, uint32_t pipeline) diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index f47abdd9459..9bdcbc858d8 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -2796,3 +2796,17 @@ VkResult genX(CreateComputePipelines)( return result; } + +VkResult +genX(CreateRayTracingPipelinesKHR)( + VkDevice _device, + VkDeferredOperationKHR deferredOperation, + VkPipelineCache pipelineCache, + uint32_t createInfoCount, + const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkPipeline* pPipelines) +{ + unreachable("Unimplemented"); + return VK_INCOMPLETE; +}