mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader/hlsl: Parse the Append() method for stream outputs.
This commit is contained in:
Notes:
Henri Verbeet
2025-04-23 18:18:33 +02:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1458
@@ -5359,8 +5359,10 @@ static void compute_liveness_recurse(struct hlsl_block *block, unsigned int loop
|
||||
var = store->resource.var;
|
||||
var->last_read = max(var->last_read, last_read);
|
||||
deref_mark_last_read(&store->resource, last_read);
|
||||
store->coords.node->last_read = last_read;
|
||||
store->value.node->last_read = last_read;
|
||||
if (store->coords.node)
|
||||
store->coords.node->last_read = last_read;
|
||||
if (store->value.node)
|
||||
store->value.node->last_read = last_read;
|
||||
break;
|
||||
}
|
||||
case HLSL_IR_SWIZZLE:
|
||||
@@ -10632,6 +10634,12 @@ static bool sm4_generate_vsir_instr_resource_store(struct hlsl_ctx *ctx,
|
||||
struct vkd3d_shader_instruction *ins;
|
||||
unsigned int writemask;
|
||||
|
||||
if (store->store_type != HLSL_RESOURCE_STORE)
|
||||
{
|
||||
hlsl_fixme(ctx, &instr->loc, "Stream output operations.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!store->resource.var->is_uniform)
|
||||
{
|
||||
hlsl_fixme(ctx, &store->node.loc, "Store to non-uniform resource variable.");
|
||||
|
||||
Reference in New Issue
Block a user