mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
libs/vkd3d-shader: Avoid Windows data types in public API.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
committed by
Alexandre Julliard
parent
fddf86e6ea
commit
844c83a837
@@ -1013,11 +1013,12 @@ HRESULT d3d12_root_signature_create(struct d3d12_device *device,
|
||||
} root_signature_desc;
|
||||
struct d3d12_root_signature *object;
|
||||
HRESULT hr;
|
||||
int ret;
|
||||
|
||||
if (FAILED(hr = vkd3d_shader_parse_root_signature(&dxbc, &root_signature_desc.vkd3d)))
|
||||
if ((ret = vkd3d_shader_parse_root_signature(&dxbc, &root_signature_desc.vkd3d)) < 0)
|
||||
{
|
||||
WARN("Failed to parse root signature, hr %#x.\n", hr);
|
||||
return hr;
|
||||
WARN("Failed to parse root signature, vkd3d result %d.\n", ret);
|
||||
return hresult_from_vkd3d_result(ret);
|
||||
}
|
||||
|
||||
if (!(object = vkd3d_malloc(sizeof(*object))))
|
||||
@@ -1269,7 +1270,7 @@ static HRESULT create_shader_stage(struct d3d12_device *device,
|
||||
struct VkShaderModuleCreateInfo shader_desc;
|
||||
struct vkd3d_shader_code spirv = {};
|
||||
VkResult vr;
|
||||
HRESULT hr;
|
||||
int ret;
|
||||
|
||||
stage_desc->sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
|
||||
stage_desc->pNext = NULL;
|
||||
@@ -1283,10 +1284,10 @@ static HRESULT create_shader_stage(struct d3d12_device *device,
|
||||
shader_desc.flags = 0;
|
||||
|
||||
dump_shader_stage(stage, code->pShaderBytecode, code->BytecodeLength);
|
||||
if (FAILED(hr = vkd3d_shader_compile_dxbc(&dxbc, &spirv, 0, shader_interface)))
|
||||
if ((ret = vkd3d_shader_compile_dxbc(&dxbc, &spirv, 0, shader_interface)) < 0)
|
||||
{
|
||||
WARN("Failed to compile shader, hr %#x.\n", hr);
|
||||
return hr;
|
||||
WARN("Failed to compile shader, vkd3d result %d.\n", ret);
|
||||
return hresult_from_vkd3d_result(ret);
|
||||
}
|
||||
shader_desc.codeSize = spirv.size;
|
||||
shader_desc.pCode = spirv.code;
|
||||
@@ -1389,6 +1390,7 @@ static HRESULT d3d12_pipeline_state_init_compute(struct d3d12_pipeline_state *st
|
||||
struct vkd3d_shader_code dxbc;
|
||||
VkResult vr;
|
||||
HRESULT hr;
|
||||
int ret;
|
||||
|
||||
state->ID3D12PipelineState_iface.lpVtbl = &d3d12_pipeline_state_vtbl;
|
||||
state->refcount = 1;
|
||||
@@ -1406,10 +1408,10 @@ static HRESULT d3d12_pipeline_state_init_compute(struct d3d12_pipeline_state *st
|
||||
|
||||
dxbc.code = desc->CS.pShaderBytecode;
|
||||
dxbc.size = desc->CS.BytecodeLength;
|
||||
if (FAILED(hr = vkd3d_shader_scan_dxbc(&dxbc, &shader_info)))
|
||||
if ((ret = vkd3d_shader_scan_dxbc(&dxbc, &shader_info)) < 0)
|
||||
{
|
||||
WARN("Failed to scan shader bytecode, hr %#x.\n", hr);
|
||||
return hr;
|
||||
WARN("Failed to scan shader bytecode, vkd3d result %d.\n", ret);
|
||||
return hresult_from_vkd3d_result(ret);
|
||||
}
|
||||
|
||||
if (FAILED(hr = d3d12_pipeline_state_init_compute_uav_counters(state,
|
||||
@@ -1802,6 +1804,7 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
||||
uint32_t mask;
|
||||
VkResult vr;
|
||||
HRESULT hr;
|
||||
int ret;
|
||||
|
||||
static const struct
|
||||
{
|
||||
@@ -1849,10 +1852,11 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
||||
if (!b->pShaderBytecode)
|
||||
continue;
|
||||
|
||||
if (FAILED(hr = vkd3d_shader_scan_dxbc(&dxbc, &shader_info)))
|
||||
if ((ret = vkd3d_shader_scan_dxbc(&dxbc, &shader_info)) < 0)
|
||||
{
|
||||
WARN("Failed to scan shader bytecode, stage %#x, hr %#x.\n", shader_stages[i].stage, hr);
|
||||
hr = E_FAIL;
|
||||
WARN("Failed to scan shader bytecode, stage %#x, vkd3d result %d.\n",
|
||||
shader_stages[i].stage, ret);
|
||||
hr = hresult_from_vkd3d_result(ret);
|
||||
goto fail;
|
||||
}
|
||||
if (shader_info.uav_counter_mask)
|
||||
@@ -1863,8 +1867,11 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
||||
goto fail;
|
||||
|
||||
if (shader_stages[i].stage == VK_SHADER_STAGE_VERTEX_BIT
|
||||
&& FAILED(hr = vkd3d_shader_parse_input_signature(&dxbc, &input_signature)))
|
||||
&& (ret = vkd3d_shader_parse_input_signature(&dxbc, &input_signature)) < 0)
|
||||
{
|
||||
hr = hresult_from_vkd3d_result(ret);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
++graphics->stage_count;
|
||||
}
|
||||
|
@@ -351,6 +351,26 @@ HRESULT hresult_from_vk_result(VkResult vr)
|
||||
}
|
||||
}
|
||||
|
||||
HRESULT hresult_from_vkd3d_result(int vkd3d_result)
|
||||
{
|
||||
switch (vkd3d_result)
|
||||
{
|
||||
case VKD3D_OK:
|
||||
return S_OK;
|
||||
case VKD3D_ERROR:
|
||||
return E_FAIL;
|
||||
case VKD3D_ERROR_OUT_OF_MEMORY:
|
||||
return E_OUTOFMEMORY;
|
||||
case VKD3D_ERROR_INVALID_ARGUMENT:
|
||||
return E_INVALIDARG;
|
||||
case VKD3D_ERROR_NOT_IMPLEMENTED:
|
||||
return E_NOTIMPL;
|
||||
default:
|
||||
FIXME("Unhandled vkd3d result %d.\n", vkd3d_result);
|
||||
return E_FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
#define LOAD_GLOBAL_PFN(name) \
|
||||
if (!(procs->name = (void *)vkGetInstanceProcAddr(NULL, #name))) \
|
||||
{ \
|
||||
|
@@ -162,15 +162,15 @@ static const struct ID3D12RootSignatureDeserializerVtbl d3d12_root_signature_des
|
||||
static HRESULT d3d12_root_signature_deserializer_init(struct d3d12_root_signature_deserializer *deserializer,
|
||||
const struct vkd3d_shader_code *dxbc)
|
||||
{
|
||||
HRESULT hr;
|
||||
int ret;
|
||||
|
||||
deserializer->ID3D12RootSignatureDeserializer_iface.lpVtbl = &d3d12_root_signature_deserializer_vtbl;
|
||||
deserializer->refcount = 1;
|
||||
|
||||
if (FAILED(hr = vkd3d_shader_parse_root_signature(dxbc, &deserializer->desc.vkd3d)))
|
||||
if ((ret = vkd3d_shader_parse_root_signature(dxbc, &deserializer->desc.vkd3d)) < 0)
|
||||
{
|
||||
WARN("Failed to parse root signature, hr %#x.\n", hr);
|
||||
return hr;
|
||||
WARN("Failed to parse root signature, vkd3d result %d.\n", ret);
|
||||
return hresult_from_vkd3d_result(ret);
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
@@ -319,6 +319,7 @@ HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_sig
|
||||
struct vkd3d_shader_code dxbc;
|
||||
struct d3d_blob *blob_object;
|
||||
HRESULT hr;
|
||||
int ret;
|
||||
|
||||
TRACE("root_signature_desc %p, version %#x, blob %p, error_blob %p.\n",
|
||||
root_signature_desc, version, blob, error_blob);
|
||||
@@ -335,12 +336,12 @@ HRESULT vkd3d_serialize_root_signature(const D3D12_ROOT_SIGNATURE_DESC *root_sig
|
||||
*error_blob = NULL;
|
||||
}
|
||||
|
||||
if (FAILED(hr = vkd3d_shader_serialize_root_signature(
|
||||
if ((ret = vkd3d_shader_serialize_root_signature(
|
||||
(const struct vkd3d_root_signature_desc *)root_signature_desc,
|
||||
(enum vkd3d_root_signature_version)version, &dxbc)))
|
||||
(enum vkd3d_root_signature_version)version, &dxbc)) < 0)
|
||||
{
|
||||
WARN("Failed to serialize root signature, hr %#x.\n", hr);
|
||||
return hr;
|
||||
WARN("Failed to serialize root signature, vkd3d result %d.\n", ret);
|
||||
return hresult_from_vkd3d_result(ret);
|
||||
}
|
||||
|
||||
if (FAILED(hr = d3d_blob_create((void *)dxbc.code, dxbc.size, &blob_object)))
|
||||
|
@@ -767,6 +767,7 @@ const char *debug_vk_memory_property_flags(VkMemoryPropertyFlags flags) DECLSPEC
|
||||
const char *debug_vk_queue_flags(VkQueueFlags flags) DECLSPEC_HIDDEN;
|
||||
|
||||
HRESULT hresult_from_vk_result(VkResult vr) DECLSPEC_HIDDEN;
|
||||
HRESULT hresult_from_vkd3d_result(int vkd3d_result) DECLSPEC_HIDDEN;
|
||||
|
||||
HRESULT vkd3d_load_vk_global_procs(struct vkd3d_vk_global_procs *procs,
|
||||
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr) DECLSPEC_HIDDEN;
|
||||
|
Reference in New Issue
Block a user