|
|
本帖最后由 jocover 于 2011-8-28 17:37 编辑
GLSL代码- #version 330 core
- #extension GL_ARB_shading_language_420pack:enable
- #define POSITION 0
- #define COLOR 3
- #define TEXCOORD 4
- #define FRAG_COLOR 0
- #define MATERIAL 0
- #define TRANSFORM0 1
- #define TRANSFORM1 2
- layout(binding = TRANSFORM0) uniform transform
- {
- mat4 MVP;
- } Transform[2];
- layout(location = POSITION) in vec2 Position;
- void main()
- {
- gl_Position = Transform[gl_InstanceID].MVP * vec4(Position, 0.0, 1.0);
- }
复制代码 编译报错
Internal error: assembly compile error for vertex shader at offset 543:
-- error message --
line 15, column 15: error: expected '='
line 25, column 25: error: expected ';'
line 26, column 25: error: expected ';'
line 29, column 25: error: expected ';'
-- internal assembly text --
!!NVvp4.0
OPTION NV_parameter_buffer_object2;
# cgc version 3.1.0001, build date Aug 21 2011
# command line args:
#vendor NVIDIA Corporation
#version 3.1.0.1
#profile gp4vp
#program main
#semantic transform.Transform
#var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1
#var int gl_InstanceID : $vin.INSTANCEID : INSTANCEID : -1 : 1
#var float4x4 Transform[0].MVP : BUFFER[0] : buffer[0][0], 4 : -1 : 1
#var float4x4 Transform[1].MVP : BUFFER[1] : buffer[1][0], 4 : -1 : 0
#var float2 Position : $vin.ATTR0 : ATTR0 : -1 : 1
CBUFFER buf0[][] = { program.buffer[0..1] };
ATTRIB vertex_attrib[] = { vertex.attrib[0..0] };
TEMP R0, R1, R2;
MOV.S R1.y, {16, 0, 0, 0}.x;
MUL.S R0.x, R1.y, {3, 0, 0, 0};
MUL.S R1.x, R1.y, {1, 0, 0, 0};
MUL.S R2.y, R1, {0, 0, 0, 0}.x;
MOV.U R2.x, vertex.instance;
MOV.U R0.x, R0;
MOV.U R1.x, R1;
LDC.F32X4 R1, buf0[R2.x][R1.x];
LDC.F32X4 R0, buf0[R2.x][R0.x];
MOV.U R2.y, R2;
MUL.F R1, vertex.attrib[0].y, R1;
LDC.F32X4 R2, buf0[R2.x][R2.y];
MAD.F R1, vertex.attrib[0].x, R2, R1;
ADD.F R0, R1, R0;
ADD.F result.position, R0, {0, 0, 0, 0}.x;
END
# 15 instructions, 3 R-regs
|
|