Commit 463de24e authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

wined3d: Group instruction context information together in struct wined3d_shader_context.

parent a7e2c2d7
...@@ -791,15 +791,18 @@ void shader_generate_main(IWineD3DBaseShader *iface, SHADER_BUFFER* buffer, ...@@ -791,15 +791,18 @@ void shader_generate_main(IWineD3DBaseShader *iface, SHADER_BUFFER* buffer,
DWORD shader_version = reg_maps->shader_version; DWORD shader_version = reg_maps->shader_version;
struct wined3d_shader_dst_param dst_param; struct wined3d_shader_dst_param dst_param;
struct wined3d_shader_instruction ins; struct wined3d_shader_instruction ins;
struct wined3d_shader_context ctx;
const DWORD *pToken = pFunction; const DWORD *pToken = pFunction;
const SHADER_OPCODE *curOpcode; const SHADER_OPCODE *curOpcode;
SHADER_HANDLER hw_fct; SHADER_HANDLER hw_fct;
DWORD i; DWORD i;
/* Initialize current parsing state */ /* Initialize current parsing state */
ins.shader = iface; ctx.shader = iface;
ins.buffer = buffer; ctx.reg_maps = reg_maps;
ins.reg_maps = reg_maps; ctx.buffer = buffer;
ins.ctx = &ctx;
ins.dst = &dst_param; ins.dst = &dst_param;
This->baseShader.parse_state.current_row = 0; This->baseShader.parse_state.current_row = 0;
......
...@@ -444,6 +444,13 @@ typedef struct SHADER_OPCODE ...@@ -444,6 +444,13 @@ typedef struct SHADER_OPCODE
DWORD max_version; DWORD max_version;
} SHADER_OPCODE; } SHADER_OPCODE;
struct wined3d_shader_context
{
IWineD3DBaseShader *shader;
const struct shader_reg_maps *reg_maps;
SHADER_BUFFER *buffer;
};
struct wined3d_shader_dst_param struct wined3d_shader_dst_param
{ {
WINED3DSHADER_PARAM_REGISTER_TYPE register_type; WINED3DSHADER_PARAM_REGISTER_TYPE register_type;
...@@ -457,15 +464,13 @@ struct wined3d_shader_dst_param ...@@ -457,15 +464,13 @@ struct wined3d_shader_dst_param
struct wined3d_shader_instruction struct wined3d_shader_instruction
{ {
IWineD3DBaseShader *shader; const struct wined3d_shader_context *ctx;
const shader_reg_maps *reg_maps;
enum WINED3D_SHADER_INSTRUCTION_HANDLER handler_idx; enum WINED3D_SHADER_INSTRUCTION_HANDLER handler_idx;
DWORD flags; DWORD flags;
BOOL coissue; BOOL coissue;
DWORD predicate; DWORD predicate;
DWORD src[4]; DWORD src[4];
DWORD src_addr[4]; DWORD src_addr[4];
SHADER_BUFFER *buffer;
UINT dst_count; UINT dst_count;
const struct wined3d_shader_dst_param *dst; const struct wined3d_shader_dst_param *dst;
UINT src_count; UINT src_count;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment