wined3d: Enable the mNxN implementation for pixel shaders.
This commit is contained in:
parent
d4019780b5
commit
822030e329
|
@ -1449,8 +1449,8 @@ void pshader_hw_texm3x2depth(SHADER_OPCODE_ARG* arg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Handles transforming all WINED3DSIO_M?x? opcodes for
|
/** Handles transforming all WINED3DSIO_M?x? opcodes for
|
||||||
Vertex shaders to ARB_vertex_program codes */
|
Vertex/Pixel shaders to ARB_vertex_program codes */
|
||||||
void vshader_hw_mnxn(SHADER_OPCODE_ARG* arg) {
|
void shader_hw_mnxn(SHADER_OPCODE_ARG* arg) {
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
int nComponents = 0;
|
int nComponents = 0;
|
||||||
|
|
|
@ -182,11 +182,11 @@ CONST SHADER_OPCODE IWineD3DPixelShaderImpl_shader_ins[] = {
|
||||||
{WINED3DSIO_SINCOS, "sincos", "SCS", 1, 2, shader_hw_sincos, shader_glsl_sincos, WINED3DPS_VERSION(3,0), -1},
|
{WINED3DSIO_SINCOS, "sincos", "SCS", 1, 2, shader_hw_sincos, shader_glsl_sincos, WINED3DPS_VERSION(3,0), -1},
|
||||||
{WINED3DSIO_DP2ADD, "dp2add", NULL, 1, 4, pshader_hw_dp2add, pshader_glsl_dp2add, WINED3DPS_VERSION(2,0), -1},
|
{WINED3DSIO_DP2ADD, "dp2add", NULL, 1, 4, pshader_hw_dp2add, pshader_glsl_dp2add, WINED3DPS_VERSION(2,0), -1},
|
||||||
/* Matrix */
|
/* Matrix */
|
||||||
{WINED3DSIO_M4x4, "m4x4", "undefined", 1, 3, NULL, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M4x4, "m4x4", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M4x3, "m4x3", "undefined", 1, 3, NULL, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M4x3, "m4x3", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M3x4, "m3x4", "undefined", 1, 3, NULL, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M3x4, "m3x4", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M3x3, "m3x3", "undefined", 1, 3, NULL, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M3x3, "m3x3", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M3x2, "m3x2", "undefined", 1, 3, NULL, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M3x2, "m3x2", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
/* Register declarations */
|
/* Register declarations */
|
||||||
{WINED3DSIO_DCL, "dcl", NULL, 0, 2, NULL, NULL, 0, 0},
|
{WINED3DSIO_DCL, "dcl", NULL, 0, 2, NULL, NULL, 0, 0},
|
||||||
/* Flow control - requires GLSL or software shaders */
|
/* Flow control - requires GLSL or software shaders */
|
||||||
|
|
|
@ -118,11 +118,11 @@ CONST SHADER_OPCODE IWineD3DVertexShaderImpl_shader_ins[] = {
|
||||||
{WINED3DSIO_SINCOS, "sincos", NULL, 1, 4, shader_hw_sincos, shader_glsl_sincos, WINED3DVS_VERSION(2,0), WINED3DVS_VERSION(2,1)},
|
{WINED3DSIO_SINCOS, "sincos", NULL, 1, 4, shader_hw_sincos, shader_glsl_sincos, WINED3DVS_VERSION(2,0), WINED3DVS_VERSION(2,1)},
|
||||||
{WINED3DSIO_SINCOS, "sincos", "SCS", 1, 2, shader_hw_sincos, shader_glsl_sincos, WINED3DVS_VERSION(3,0), -1},
|
{WINED3DSIO_SINCOS, "sincos", "SCS", 1, 2, shader_hw_sincos, shader_glsl_sincos, WINED3DVS_VERSION(3,0), -1},
|
||||||
/* Matrix */
|
/* Matrix */
|
||||||
{WINED3DSIO_M4x4, "m4x4", "undefined", 1, 3, vshader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M4x4, "m4x4", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M4x3, "m4x3", "undefined", 1, 3, vshader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M4x3, "m4x3", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M3x4, "m3x4", "undefined", 1, 3, vshader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M3x4, "m3x4", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M3x3, "m3x3", "undefined", 1, 3, vshader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M3x3, "m3x3", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
{WINED3DSIO_M3x2, "m3x2", "undefined", 1, 3, vshader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
{WINED3DSIO_M3x2, "m3x2", "undefined", 1, 3, shader_hw_mnxn, shader_glsl_mnxn, 0, 0},
|
||||||
/* Declare registers */
|
/* Declare registers */
|
||||||
{WINED3DSIO_DCL, "dcl", NULL, 0, 2, NULL, NULL, 0, 0},
|
{WINED3DSIO_DCL, "dcl", NULL, 0, 2, NULL, NULL, 0, 0},
|
||||||
/* Constant definitions */
|
/* Constant definitions */
|
||||||
|
|
|
@ -1793,10 +1793,10 @@ extern void pshader_hw_texreg2rgb(SHADER_OPCODE_ARG* arg);
|
||||||
/* ARB vertex / pixel shader common prototypes */
|
/* ARB vertex / pixel shader common prototypes */
|
||||||
extern void shader_hw_nrm(SHADER_OPCODE_ARG* arg);
|
extern void shader_hw_nrm(SHADER_OPCODE_ARG* arg);
|
||||||
extern void shader_hw_sincos(SHADER_OPCODE_ARG* arg);
|
extern void shader_hw_sincos(SHADER_OPCODE_ARG* arg);
|
||||||
|
extern void shader_hw_mnxn(SHADER_OPCODE_ARG* arg);
|
||||||
|
|
||||||
/* ARB vertex shader prototypes */
|
/* ARB vertex shader prototypes */
|
||||||
extern void vshader_hw_map2gl(SHADER_OPCODE_ARG* arg);
|
extern void vshader_hw_map2gl(SHADER_OPCODE_ARG* arg);
|
||||||
extern void vshader_hw_mnxn(SHADER_OPCODE_ARG* arg);
|
|
||||||
extern void vshader_hw_rsq_rcp(SHADER_OPCODE_ARG* arg);
|
extern void vshader_hw_rsq_rcp(SHADER_OPCODE_ARG* arg);
|
||||||
|
|
||||||
/* GLSL helper functions */
|
/* GLSL helper functions */
|
||||||
|
|
Loading…
Reference in New Issue