anv: Add minimal boilerplate for VK_KHR_ray_tracing_pipeline

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8637>
This commit is contained in:
Jason Ekstrand
2020-08-05 16:53:12 -05:00
committed by Marge Bot
parent d258b0bf0e
commit f366f6a071
4 changed files with 83 additions and 0 deletions
+6
View File
@@ -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)
{
}
+37
View File
@@ -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;
}
+26
View File
@@ -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)
+14
View File
@@ -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;
}