Don't try to create static pipelines which contain tessellation yet.
This commit is contained in:
parent
3de1bfd81e
commit
7d2f1287b7
|
@ -2012,6 +2012,7 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
||||||
uint32_t mask;
|
uint32_t mask;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
int ret;
|
int ret;
|
||||||
|
bool has_tessellation;
|
||||||
|
|
||||||
static const DWORD default_ps_code[] =
|
static const DWORD default_ps_code[] =
|
||||||
{
|
{
|
||||||
|
@ -2246,6 +2247,8 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
||||||
shader_interface.uav_counters = NULL;
|
shader_interface.uav_counters = NULL;
|
||||||
shader_interface.uav_counter_count = 0;
|
shader_interface.uav_counter_count = 0;
|
||||||
|
|
||||||
|
has_tessellation = false;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(shader_stages); ++i)
|
for (i = 0; i < ARRAY_SIZE(shader_stages); ++i)
|
||||||
{
|
{
|
||||||
const D3D12_SHADER_BYTECODE *b = (const void *)((uintptr_t)desc + shader_stages[i].offset);
|
const D3D12_SHADER_BYTECODE *b = (const void *)((uintptr_t)desc + shader_stages[i].offset);
|
||||||
|
@ -2284,6 +2287,7 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
||||||
hr = E_INVALIDARG;
|
hr = E_INVALIDARG;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
has_tessellation = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VK_SHADER_STAGE_GEOMETRY_BIT:
|
case VK_SHADER_STAGE_GEOMETRY_BIT:
|
||||||
|
@ -2473,7 +2477,11 @@ static HRESULT d3d12_pipeline_state_init_graphics(struct d3d12_pipeline_state *s
|
||||||
|
|
||||||
d3d12_device_add_ref(state->device = device);
|
d3d12_device_add_ref(state->device = device);
|
||||||
|
|
||||||
|
/* FIXME: The tessellation codegen is broken, so never try to actually create pipelines with it. */
|
||||||
|
if (!has_tessellation)
|
||||||
graphics->static_pipeline = d3d12_pipeline_state_create_static_pipeline(state);
|
graphics->static_pipeline = d3d12_pipeline_state_create_static_pipeline(state);
|
||||||
|
else
|
||||||
|
graphics->static_pipeline = VK_NULL_HANDLE;
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue