mirror of
https://github.com/KhronosGroup/SPIRV-Cross.git
synced 2024-11-16 00:40:08 +00:00
commit
1f3af988db
@ -0,0 +1,25 @@
|
||||
#include <metal_stdlib>
|
||||
#include <simd/simd.h>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
float4 o1 [[user(locn1)]];
|
||||
float4 gl_Position [[position]];
|
||||
};
|
||||
|
||||
struct main0_in
|
||||
{
|
||||
float4 v0 [[attribute(0)]];
|
||||
float4 v1 [[attribute(1)]];
|
||||
};
|
||||
|
||||
vertex main0_out main0(main0_in in [[stage_in]])
|
||||
{
|
||||
main0_out out = {};
|
||||
out.gl_Position = in.v0;
|
||||
out.o1 = in.v1;
|
||||
return out;
|
||||
}
|
||||
|
@ -0,0 +1,25 @@
|
||||
#include <metal_stdlib>
|
||||
#include <simd/simd.h>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
struct main0_out
|
||||
{
|
||||
float4 o1 [[user(locn1)]];
|
||||
float4 gl_Position [[position]];
|
||||
};
|
||||
|
||||
struct main0_in
|
||||
{
|
||||
float4 v0 [[attribute(0)]];
|
||||
float4 v1 [[attribute(1)]];
|
||||
};
|
||||
|
||||
vertex main0_out main0(main0_in in [[stage_in]])
|
||||
{
|
||||
main0_out out = {};
|
||||
out.gl_Position = in.v0;
|
||||
out.o1 = in.v1;
|
||||
return out;
|
||||
}
|
||||
|
33
shaders-msl/asm/vert/copy-memory-interface.asm.vert
Normal file
33
shaders-msl/asm/vert/copy-memory-interface.asm.vert
Normal file
@ -0,0 +1,33 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Wine VKD3D Shader Compiler; 1
|
||||
; Bound: 13
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %1 "main" %8 %9 %11 %12
|
||||
OpName %1 "main"
|
||||
OpName %8 "v0"
|
||||
OpName %9 "v1"
|
||||
OpName %11 "o0"
|
||||
OpName %12 "o1"
|
||||
OpDecorate %8 Location 0
|
||||
OpDecorate %9 Location 1
|
||||
OpDecorate %11 BuiltIn Position
|
||||
OpDecorate %12 Location 1
|
||||
%2 = OpTypeVoid
|
||||
%3 = OpTypeFunction %2
|
||||
%5 = OpTypeFloat 32
|
||||
%6 = OpTypeVector %5 4
|
||||
%7 = OpTypePointer Input %6
|
||||
%8 = OpVariable %7 Input
|
||||
%9 = OpVariable %7 Input
|
||||
%10 = OpTypePointer Output %6
|
||||
%11 = OpVariable %10 Output
|
||||
%12 = OpVariable %10 Output
|
||||
%1 = OpFunction %2 None %3
|
||||
%4 = OpLabel
|
||||
OpCopyMemory %11 %8
|
||||
OpCopyMemory %12 %9
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -648,11 +648,11 @@ bool Compiler::InterfaceVariableAccessHandler::handle(Op opcode, const uint32_t
|
||||
|
||||
auto *var = compiler.maybe_get<SPIRVariable>(args[0]);
|
||||
if (var && storage_class_is_interface(var->storage))
|
||||
variables.insert(variable);
|
||||
variables.insert(args[0]);
|
||||
|
||||
var = compiler.maybe_get<SPIRVariable>(args[1]);
|
||||
if (var && storage_class_is_interface(var->storage))
|
||||
variables.insert(variable);
|
||||
variables.insert(args[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user