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,
DWORD shader_version = reg_maps->shader_version;
struct wined3d_shader_dst_param dst_param;
struct wined3d_shader_instruction ins;
struct wined3d_shader_context ctx;
const DWORD *pToken = pFunction;
const SHADER_OPCODE *curOpcode;
SHADER_HANDLER hw_fct;
DWORD i;
/* Initialize current parsing state */
ins.shader = iface;
ins.buffer = buffer;
ins.reg_maps = reg_maps;
ctx.shader = iface;
ctx.reg_maps = reg_maps;
ctx.buffer = buffer;
ins.ctx = &ctx;
ins.dst = &dst_param;
This->baseShader.parse_state.current_row = 0;
......
......@@ -444,6 +444,13 @@ typedef struct SHADER_OPCODE
DWORD max_version;
} SHADER_OPCODE;
struct wined3d_shader_context
{
IWineD3DBaseShader *shader;
const struct shader_reg_maps *reg_maps;
SHADER_BUFFER *buffer;
};
struct wined3d_shader_dst_param
{
WINED3DSHADER_PARAM_REGISTER_TYPE register_type;
......@@ -457,15 +464,13 @@ struct wined3d_shader_dst_param
struct wined3d_shader_instruction
{
IWineD3DBaseShader *shader;
const shader_reg_maps *reg_maps;
const struct wined3d_shader_context *ctx;
enum WINED3D_SHADER_INSTRUCTION_HANDLER handler_idx;
DWORD flags;
BOOL coissue;
DWORD predicate;
DWORD src[4];
DWORD src_addr[4];
SHADER_BUFFER *buffer;
UINT dst_count;
const struct wined3d_shader_dst_param *dst;
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