libs/vkd3d: Implement d3d12_command_list_OMSetStencilRef().

This commit is contained in:
Józef Kucia 2016-11-28 11:19:12 +01:00
parent 6e6453cadd
commit a680fdd91b
2 changed files with 10 additions and 2 deletions

View File

@ -1465,6 +1465,7 @@ static bool d3d12_command_list_update_current_pipeline(struct d3d12_command_list
{
VK_DYNAMIC_STATE_VIEWPORT,
VK_DYNAMIC_STATE_SCISSOR,
VK_DYNAMIC_STATE_STENCIL_REFERENCE,
};
static const struct VkPipelineDynamicStateCreateInfo dynamic_desc =
{
@ -1859,7 +1860,13 @@ static void STDMETHODCALLTYPE d3d12_command_list_OMSetBlendFactor(ID3D12Graphics
static void STDMETHODCALLTYPE d3d12_command_list_OMSetStencilRef(ID3D12GraphicsCommandList *iface,
UINT stencil_ref)
{
FIXME("iface %p, stencil_ref %u stub!\n", iface, stencil_ref);
struct d3d12_command_list *list = impl_from_ID3D12GraphicsCommandList(iface);
const struct vkd3d_vk_device_procs *vk_procs;
TRACE("iface %p, stencil_ref %u.\n", iface, stencil_ref);
vk_procs = &list->device->vk_procs;
VK_CALL(vkCmdSetStencilReference(list->vk_command_buffer, VK_STENCIL_FRONT_AND_BACK, stencil_ref));
}
static void STDMETHODCALLTYPE d3d12_command_list_SetPipelineState(ID3D12GraphicsCommandList *iface,

View File

@ -654,7 +654,8 @@ static void vk_stencil_op_state_from_d3d12(struct VkStencilOpState *vk_desc,
vk_desc->compareOp = vk_compare_op_from_d3d12(d3d12_desc->StencilFunc);
vk_desc->compareMask = compare_mask;
vk_desc->writeMask = write_mask;
vk_desc->reference = 0; /* FIXME: From OMSetStencilRef(). */
/* The stencil reference value is a dynamic state. Set by OMSetStencilRef(). */
vk_desc->reference = 0;
}
static void ds_desc_from_d3d12(struct VkPipelineDepthStencilStateCreateInfo *vk_desc,