Spec https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12gra.... I am just unsure if checking the max and minimum range is necessary, or if that can be understood as programming error.
-- v2: vkd3d: Implement d3d12_command_list_OMSetDepthBounds()
From: Raphael Abrantes antenabr2@gmail.com
--- libs/vkd3d/command.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index f9940b3d3..435245ecf 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -5897,7 +5897,13 @@ static void STDMETHODCALLTYPE d3d12_command_list_AtomicCopyBufferUINT64(ID3D12Gr static void STDMETHODCALLTYPE d3d12_command_list_OMSetDepthBounds(ID3D12GraphicsCommandList5 *iface, FLOAT min, FLOAT max) { - FIXME("iface %p, min %.8e, max %.8e stub!\n", iface, min, max); + struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList5(iface); + const struct vkd3d_vk_device_procs *vk_procs; + TRACE("iface %p, min %.8e, max %.8e\n", iface, min, max); + + vk_procs = &list->device->vk_procs; + VK_CALL(vkCmdSetDepthBounds(list->vk_command_buffer, min, max)); + }
static void STDMETHODCALLTYPE d3d12_command_list_SetSamplePositions(ID3D12GraphicsCommandList5 *iface,
The MR does have a couple of problems though:
Those should be fixed now.
Related to the possible test, I will get to does during this week.
I think this is essentially fine like this. Two small nits: - We usually have a blank line between the declarations and the TRACE. - We usually have a full stop at the end of the TRACE. I.e., "iface %p, min %.8e, max %.8e.\n"
Compare e.g. d3d12_command_list_OMSetBlendFactor() and d3d12_command_list_OMSetStencilRef().
In any case, does this need to remain a draft MR? I think it's fine to wait for the tests, but wouldn't mind merging this as-is either.