MSL: Don't emit native array for masked clip/cull distance.
This commit is contained in:
parent
406af8ff4d
commit
4a379a00f3
@ -53,7 +53,7 @@ struct main0_out
|
|||||||
};
|
};
|
||||||
|
|
||||||
static inline __attribute__((always_inline))
|
static inline __attribute__((always_inline))
|
||||||
void write_in_func(thread float4& v0, thread float4& v1, thread float4& gl_Position, thread float& gl_PointSize, thread float (&gl_ClipDistance)[2])
|
void write_in_func(thread float4& v0, thread float4& v1, thread float4& gl_Position, thread float& gl_PointSize, thread spvUnsafeArray<float, 2>& gl_ClipDistance)
|
||||||
{
|
{
|
||||||
v0 = float4(1.0);
|
v0 = float4(1.0);
|
||||||
v1 = float4(2.0);
|
v1 = float4(2.0);
|
||||||
|
@ -12439,7 +12439,8 @@ string CompilerMSL::argument_decl(const SPIRFunction::Parameter &arg)
|
|||||||
is_using_builtin_array = true;
|
is_using_builtin_array = true;
|
||||||
|
|
||||||
auto storage = get<SPIRType>(var.basetype).storage;
|
auto storage = get<SPIRType>(var.basetype).storage;
|
||||||
if (storage == StorageClassOutput && variable_storage_requires_stage_io(storage))
|
if (storage == StorageClassOutput && variable_storage_requires_stage_io(storage) &&
|
||||||
|
!is_stage_output_builtin_masked(builtin_type))
|
||||||
is_using_builtin_array = true;
|
is_using_builtin_array = true;
|
||||||
|
|
||||||
if (is_using_builtin_array)
|
if (is_using_builtin_array)
|
||||||
|
Loading…
Reference in New Issue
Block a user