/* Generate the variable & register declarations for the ARB_vertex_program output target */
static DWORD shader_generate_arb_declarations(IWineD3DBaseShader *iface, const shader_reg_maps *reg_maps,
- SHADER_BUFFER *buffer, const WineD3D_GL_Info *gl_info, DWORD *lconst_map, DWORD *num_clipplanes,
- struct shader_arb_ctx_priv *ctx)
+ struct wined3d_shader_buffer *buffer, const WineD3D_GL_Info *gl_info, DWORD *lconst_map,
+ DWORD *num_clipplanes, struct shader_arb_ctx_priv *ctx)
{
IWineD3DBaseShaderImpl* This = (IWineD3DBaseShaderImpl*) iface;
DWORD i, next_local = 0;
static void shader_arb_request_a0(const struct wined3d_shader_instruction *ins, const char *src)
{
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
if(strcmp(priv->addr_reg, src) == 0) return;
}
}
-static void gen_color_correction(SHADER_BUFFER *buffer, const char *reg, DWORD dst_mask,
- const char *one, const char *two, struct color_fixup_desc fixup)
+static void gen_color_correction(struct wined3d_shader_buffer *buffer, const char *reg,
+ DWORD dst_mask, const char *one, const char *two, struct color_fixup_desc fixup)
{
DWORD mask;
static void shader_hw_sample(const struct wined3d_shader_instruction *ins, DWORD sampler_idx,
const char *dst_str, const char *coord_reg, WORD flags, const char *dsx, const char *dsy)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
DWORD sampler_type = ins->ctx->reg_maps->sampler_type[sampler_idx];
const char *tex_type;
BOOL np2_fixup = FALSE;
char regstr[256];
char swzstr[20];
int insert_line;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
struct shader_arb_ctx_priv *ctx = ins->ctx->backend_data;
/* Assume a new line will be added */
static void pshader_hw_bem(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
char src_name[2][50];
DWORD sampler_code = dst->reg.idx;
static void pshader_hw_cnd(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
char src_name[3][50];
DWORD shader_version = WINED3D_SHADER_VERSION(ins->ctx->reg_maps->shader_version.major,
static void pshader_hw_cmp(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
char src_name[3][50];
BOOL is_color;
static void pshader_hw_dp2add(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
char src_name[3][50];
struct shader_arb_ctx_priv *ctx = ins->ctx->backend_data;
/* Map the opcode 1-to-1 to the GL code */
static void shader_hw_map2gl(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
const char *instruction;
char arguments[256], dst_str[50];
unsigned int i;
static void shader_hw_nop(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
shader_addline(buffer, "NOP;\n");
}
BOOL pshader = shader_is_pshader_version(shader->baseShader.reg_maps.shader_version.type);
struct shader_arb_ctx_priv *ctx = ins->ctx->backend_data;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char src0_param[256];
if(ins->handler_idx == WINED3DSIH_MOVA) {
static void pshader_hw_texkill(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char reg_dest[40];
/* No swizzles are allowed in d3d's texkill. PS 1.x ignores the 4th component as documented,
static void pshader_hw_texcoord(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
DWORD shader_version = WINED3D_SHADER_VERSION(ins->ctx->reg_maps->shader_version.major,
ins->ctx->reg_maps->shader_version.minor);
char dst_str[50];
static void pshader_hw_texreg2ar(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
IWineD3DPixelShaderImpl *This = (IWineD3DPixelShaderImpl *)ins->ctx->shader;
IWineD3DDeviceImpl* deviceImpl = (IWineD3DDeviceImpl*) This->baseShader.device;
DWORD flags;
static void pshader_hw_texreg2gb(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
DWORD reg1 = ins->dst[0].reg.idx;
char dst_str[50];
{
IWineD3DPixelShaderImpl *This = (IWineD3DPixelShaderImpl *)ins->ctx->shader;
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char reg_coord[40], dst_reg[50], src_reg[50];
DWORD reg_dest_code;
static void pshader_hw_texm3x2pad(const struct wined3d_shader_instruction *ins)
{
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char src0_name[50], dst_name[50];
BOOL is_color;
struct wined3d_shader_register tmp_reg = ins->dst[0].reg;
IWineD3DDeviceImpl* deviceImpl = (IWineD3DDeviceImpl*) This->baseShader.device;
DWORD flags;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_str[50];
char src0_name[50];
char dst_reg[50];
{
IWineD3DPixelShaderImpl *This = (IWineD3DPixelShaderImpl *)ins->ctx->shader;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
SHADER_PARSE_STATE* current_state = &This->baseShader.parse_state;
char src0_name[50], dst_name[50];
struct wined3d_shader_register tmp_reg = ins->dst[0].reg;
IWineD3DDeviceImpl* deviceImpl = (IWineD3DDeviceImpl*) This->baseShader.device;
DWORD flags;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
SHADER_PARSE_STATE* current_state = &This->baseShader.parse_state;
char dst_str[50];
char src0_name[50], dst_name[50];
IWineD3DDeviceImpl* deviceImpl = (IWineD3DDeviceImpl*) This->baseShader.device;
DWORD flags;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
SHADER_PARSE_STATE* current_state = &This->baseShader.parse_state;
char dst_str[50];
char src0_name[50];
DWORD flags;
DWORD reg = ins->dst[0].reg.idx;
SHADER_PARSE_STATE* current_state = &This->baseShader.parse_state;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_str[50];
char src0_name[50];
char src1_name[50];
static void pshader_hw_texdepth(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
/* texdepth has an implicit destination, the fragment depth value. It's only parameter,
* then perform a 1D texture lookup from stage dstregnum, place into dst. */
static void pshader_hw_texdp3tex(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
DWORD sampler_idx = ins->dst[0].reg.idx;
char src0[50];
char dst_str[50];
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
char src0[50];
char dst_str[50];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
/* Handle output register */
shader_arb_get_dst_param(ins, dst, dst_str);
static void pshader_hw_texm3x3(const struct wined3d_shader_instruction *ins)
{
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_str[50], dst_name[50];
char src0[50];
BOOL is_color;
*/
static void pshader_hw_texm3x2depth(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
char src0[50], dst_name[50];
BOOL is_color;
static void shader_hw_rsq_rcp(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
const char *instruction;
char dst[50];
static void shader_hw_nrm(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
char src_name[50];
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
static void shader_hw_lrp(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
char src_name[3][50];
* must contain fixed constants. So we need a separate function to filter those constants and
* can't use map2gl
*/
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
const struct wined3d_shader_dst_param *dst = &ins->dst[0];
char dst_name[50];
static void shader_hw_sgn(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char dst_name[50];
char src_name[50];
struct shader_arb_ctx_priv *ctx = ins->ctx->backend_data;
static void shader_hw_dsy(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char src[50];
char dst[50];
char dst_name[50];
static void shader_hw_log_pow(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char src0[50], src1[50], dst[50];
struct wined3d_shader_src_param src0_copy = ins->src[0];
BOOL need_abs = FALSE;
static void shader_hw_loop(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char src_name[50];
BOOL vshader = shader_is_vshader_version(ins->ctx->reg_maps->shader_version.type);
static void shader_hw_rep(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
char src_name[50];
BOOL vshader = shader_is_vshader_version(ins->ctx->reg_maps->shader_version.type);
static void shader_hw_endloop(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
BOOL vshader = shader_is_vshader_version(ins->ctx->reg_maps->shader_version.type);
if(vshader)
static void shader_hw_endrep(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
BOOL vshader = shader_is_vshader_version(ins->ctx->reg_maps->shader_version.type);
if(vshader)
static void shader_hw_break(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
const struct control_frame *control_frame = find_last_loop(ins->ctx->backend_data);
BOOL vshader = shader_is_vshader_version(ins->ctx->reg_maps->shader_version.type);
static void shader_hw_breakc(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
BOOL vshader = shader_is_vshader_version(ins->ctx->reg_maps->shader_version.type);
const struct control_frame *control_frame = find_last_loop(ins->ctx->backend_data);
char src_name0[50];
static void shader_hw_ifc(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
struct list *e = list_head(&priv->control_frames);
struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
static void shader_hw_else(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
struct list *e = list_head(&priv->control_frames);
struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
static void shader_hw_endif(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
struct list *e = list_head(&priv->control_frames);
struct control_frame *control_frame = LIST_ENTRY(e, struct control_frame, entry);
static void shader_hw_label(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
priv->in_main_func = FALSE;
shader_addline(buffer, "l%u:\n", ins->src[0].reg.idx);
}
-static void vshader_add_footer(IWineD3DVertexShaderImpl *This, SHADER_BUFFER *buffer, const struct arb_vs_compile_args *args,
- struct shader_arb_ctx_priv *priv_ctx)
+static void vshader_add_footer(IWineD3DVertexShaderImpl *This, struct wined3d_shader_buffer *buffer,
+ const struct arb_vs_compile_args *args, struct shader_arb_ctx_priv *priv_ctx)
{
const shader_reg_maps *reg_maps = &This->baseShader.reg_maps;
IWineD3DDeviceImpl *device = (IWineD3DDeviceImpl *)This->baseShader.device;
static void shader_hw_ret(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
IWineD3DBaseShaderImpl *shader = (IWineD3DBaseShaderImpl *) ins->ctx->shader;
BOOL vshader = shader_is_vshader_version(ins->ctx->reg_maps->shader_version.type);
static void shader_hw_call(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
shader_addline(buffer, "CAL l%u;\n", ins->src[0].reg.idx);
}
return program_id;
}
-static void arbfp_add_sRGB_correction(SHADER_BUFFER *buffer, const char *fragcolor, const char *tmp1,
- const char *tmp2, const char *tmp3, const char *tmp4, BOOL condcode) {
+static void arbfp_add_sRGB_correction(struct wined3d_shader_buffer *buffer, const char *fragcolor,
+ const char *tmp1, const char *tmp2, const char *tmp3, const char *tmp4, BOOL condcode)
+{
/* Perform sRGB write correction. See GLX_EXT_framebuffer_sRGB */
if(condcode)
}
/* GL locking is done by the caller */
-static GLuint shader_arb_generate_pshader(IWineD3DPixelShaderImpl *This,
- SHADER_BUFFER *buffer, const struct arb_ps_compile_args *args, struct arb_ps_compiled_shader *compiled)
+static GLuint shader_arb_generate_pshader(IWineD3DPixelShaderImpl *This, struct wined3d_shader_buffer *buffer,
+ const struct arb_ps_compile_args *args, struct arb_ps_compiled_shader *compiled)
{
const shader_reg_maps* reg_maps = &This->baseShader.reg_maps;
CONST DWORD *function = This->baseShader.function;
}
/* GL locking is done by the caller */
-static GLuint shader_arb_generate_vshader(IWineD3DVertexShaderImpl *This,
- SHADER_BUFFER *buffer, const struct arb_vs_compile_args *args, struct arb_vs_compiled_shader *compiled)
+static GLuint shader_arb_generate_vshader(IWineD3DVertexShaderImpl *This, struct wined3d_shader_buffer *buffer,
+ const struct arb_vs_compile_args *args, struct arb_vs_compiled_shader *compiled)
{
const shader_reg_maps *reg_maps = &This->baseShader.reg_maps;
CONST DWORD *function = This->baseShader.function;
UINT i;
DWORD new_size;
struct arb_ps_compiled_shader *new_array;
- SHADER_BUFFER buffer;
+ struct wined3d_shader_buffer buffer;
struct arb_pshader_private *shader_data;
GLuint ret;
DWORD new_size;
struct arb_vs_compiled_shader *new_array;
DWORD use_map = ((IWineD3DDeviceImpl *)shader->baseShader.device)->strided_streams.use_map;
- SHADER_BUFFER buffer;
+ struct wined3d_shader_buffer buffer;
struct arb_vshader_private *shader_data;
GLuint ret;
const WineD3D_GL_Info *gl_info = &((IWineD3DDeviceImpl *)shader->baseShader.device)->adapter->gl_info;
static void shader_arb_add_instruction_modifiers(const struct wined3d_shader_instruction *ins) {
DWORD shift;
char write_mask[20], regstr[50];
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
BOOL is_color = FALSE;
const struct wined3d_shader_dst_param *dst;
struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
IWineD3DBaseShaderImpl *This = (IWineD3DBaseShaderImpl *)ins->ctx->shader;
struct control_frame *control_frame;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
BOOL bool_const;
if(ins->handler_idx == WINED3DSIH_LOOP || ins->handler_idx == WINED3DSIH_REP)
checkGLcall("glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, ARB_FFP_CONST_LUMINANCE(stage), param)");
}
-static const char *get_argreg(SHADER_BUFFER *buffer, DWORD argnum, unsigned int stage, DWORD arg) {
+static const char *get_argreg(struct wined3d_shader_buffer *buffer, DWORD argnum, unsigned int stage, DWORD arg)
+{
const char *ret;
if(arg == ARG_UNUSED) return "unused"; /* This is the marker for unused registers */
return ret;
}
-static void gen_ffp_instr(SHADER_BUFFER *buffer, unsigned int stage, BOOL color, BOOL alpha,
- DWORD dst, DWORD op, DWORD dw_arg0, DWORD dw_arg1, DWORD dw_arg2) {
+static void gen_ffp_instr(struct wined3d_shader_buffer *buffer, unsigned int stage, BOOL color,
+ BOOL alpha, DWORD dst, DWORD op, DWORD dw_arg0, DWORD dw_arg1, DWORD dw_arg2)
+{
const char *dstmask, *dstreg, *arg0, *arg1, *arg2;
unsigned int mul = 1;
BOOL mul_final_dest = FALSE;
static GLuint gen_arbfp_ffp_shader(const struct ffp_frag_settings *settings, IWineD3DStateBlockImpl *stateblock)
{
unsigned int stage;
- SHADER_BUFFER buffer;
+ struct wined3d_shader_buffer buffer;
BOOL tex_read[MAX_TEXTURES] = {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE};
BOOL bump_used[MAX_TEXTURES] = {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE};
BOOL luminance_used[MAX_TEXTURES] = {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE};
LEAVE_GL();
}
-static BOOL gen_planar_yuv_read(SHADER_BUFFER *buffer, enum yuv_fixup yuv_fixup, GLenum textype, char *luminance)
+static BOOL gen_planar_yuv_read(struct wined3d_shader_buffer *buffer, enum yuv_fixup yuv_fixup,
+ GLenum textype, char *luminance)
{
char chroma;
const char *tex, *texinstr;
return TRUE;
}
-static BOOL gen_yv12_read(SHADER_BUFFER *buffer, GLenum textype, char *luminance)
+static BOOL gen_yv12_read(struct wined3d_shader_buffer *buffer, GLenum textype, char *luminance)
{
const char *tex;
static GLuint gen_yuv_shader(IWineD3DDeviceImpl *device, enum yuv_fixup yuv_fixup, GLenum textype)
{
GLenum shader;
- SHADER_BUFFER buffer;
+ struct wined3d_shader_buffer buffer;
char luminance_component;
struct arbfp_blit_priv *priv = device->blit_priv;
/* GLSL shader private data */
struct shader_glsl_priv {
- struct SHADER_BUFFER shader_buffer;
+ struct wined3d_shader_buffer shader_buffer;
struct wine_rb_tree program_lookup;
struct glsl_shader_prog_link *glsl_program;
struct constant_heap vconst_heap;
/** Generate the variable & register declarations for the GLSL output target */
static void shader_generate_glsl_declarations(IWineD3DBaseShader *iface, const shader_reg_maps *reg_maps,
- SHADER_BUFFER *buffer, const WineD3D_GL_Info *gl_info,
+ struct wined3d_shader_buffer *buffer, const WineD3D_GL_Info *gl_info,
struct shader_glsl_ctx_priv *ctx_priv)
{
IWineD3DBaseShaderImpl* This = (IWineD3DBaseShaderImpl*) iface;
}
/* Append the destination part of the instruction to the buffer, return the effective write mask */
-static DWORD shader_glsl_append_dst_ext(SHADER_BUFFER *buffer,
+static DWORD shader_glsl_append_dst_ext(struct wined3d_shader_buffer *buffer,
const struct wined3d_shader_instruction *ins, const struct wined3d_shader_dst_param *dst)
{
glsl_dst_param_t glsl_dst;
}
/* Append the destination part of the instruction to the buffer, return the effective write mask */
-static DWORD shader_glsl_append_dst(SHADER_BUFFER *buffer, const struct wined3d_shader_instruction *ins)
+static DWORD shader_glsl_append_dst(struct wined3d_shader_buffer *buffer, const struct wined3d_shader_instruction *ins)
{
return shader_glsl_append_dst_ext(buffer, ins, &ins->dst[0]);
}
/* Generate GLSL arithmetic functions (dst = src1 + src2) */
static void shader_glsl_arith(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src0_param;
glsl_src_param_t src1_param;
DWORD write_mask;
/* Process the WINED3DSIO_MOV opcode using GLSL (dst = src) */
static void shader_glsl_mov(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src0_param;
DWORD write_mask;
/* Process the dot product operators DP3 and DP4 in GLSL (dst = dot(src0, src1)) */
static void shader_glsl_dot(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src0_param;
glsl_src_param_t src1_param;
DWORD dst_write_mask, src_write_mask;
* GLSL uses the value as-is. */
static void shader_glsl_pow(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src0_param;
glsl_src_param_t src1_param;
DWORD dst_write_mask;
* GLSL uses the value as-is. */
static void shader_glsl_log(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src0_param;
DWORD dst_write_mask;
unsigned int dst_size;
/* Map the opcode 1-to-1 to the GL code (arg->dst = instruction(src0, src1, ...) */
static void shader_glsl_map2gl(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src_param;
const char *instruction;
DWORD write_mask;
static void shader_glsl_rsq(const struct wined3d_shader_instruction *ins)
{
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src_param;
DWORD write_mask;
unsigned int mask_size;
static void pshader_glsl_texcoord(const struct wined3d_shader_instruction *ins)
{
/* FIXME: Make this work for more than just 2D textures */
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
DWORD write_mask = shader_glsl_append_dst(ins->ctx->buffer, ins);
if (!(ins->ctx->reg_maps->shader_version.major == 1 && ins->ctx->reg_maps->shader_version.minor == 4))
{
DWORD src_mask = WINED3DSP_WRITEMASK_0 | WINED3DSP_WRITEMASK_1 | WINED3DSP_WRITEMASK_2;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src0_param;
shader_glsl_add_src_param(ins, &ins->src[0], src_mask, &src0_param);
IWineD3DPixelShaderImpl *shader = (IWineD3DPixelShaderImpl *)ins->ctx->shader;
DWORD src_mask = WINED3DSP_WRITEMASK_0 | WINED3DSP_WRITEMASK_1 | WINED3DSP_WRITEMASK_2;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
SHADER_PARSE_STATE* current_state = &shader->baseShader.parse_state;
glsl_src_param_t src0_param;
{
DWORD src_mask = WINED3DSP_WRITEMASK_0 | WINED3DSP_WRITEMASK_1 | WINED3DSP_WRITEMASK_2;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
glsl_src_param_t src0_param;
WINED3DSAMPLER_TEXTURE_TYPE sampler_type = ins->ctx->reg_maps->sampler_type[reg];
glsl_sample_function_t sample_function;
DWORD reg = ins->dst[0].reg.idx;
glsl_src_param_t src0_param;
glsl_src_param_t src1_param;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
SHADER_PARSE_STATE* current_state = &shader->baseShader.parse_state;
WINED3DSAMPLER_TEXTURE_TYPE stype = ins->ctx->reg_maps->sampler_type[reg];
DWORD src_mask = WINED3DSP_WRITEMASK_0 | WINED3DSP_WRITEMASK_1 | WINED3DSP_WRITEMASK_2;
{
IWineD3DPixelShaderImpl *shader = (IWineD3DPixelShaderImpl *)ins->ctx->shader;
DWORD reg = ins->dst[0].reg.idx;
- SHADER_BUFFER *buffer = ins->ctx->buffer;
+ struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
SHADER_PARSE_STATE* current_state = &shader->baseShader.parse_state;
glsl_src_param_t src0_param;
DWORD src_mask = WINED3DSP_WRITEMASK_0 | WINED3DSP_WRITEMASK_1 | WINED3DSP_WRITEMASK_2;
}
}
-static void pshader_glsl_input_pack(IWineD3DPixelShader *iface, SHADER_BUFFER *buffer,
+static void pshader_glsl_input_pack(IWineD3DPixelShader *iface, struct wined3d_shader_buffer *buffer,
const struct wined3d_shader_signature_element *input_signature, const struct shader_reg_maps *reg_maps,
enum vertexprocessing_mode vertexprocessing)
{
HeapFree(GetProcessHeap(), 0, entry);
}
-static void handle_ps3_input(SHADER_BUFFER *buffer, const WineD3D_GL_Info *gl_info, const DWORD *map,
+static void handle_ps3_input(struct wined3d_shader_buffer *buffer, const WineD3D_GL_Info *gl_info, const DWORD *map,
const struct wined3d_shader_signature_element *input_signature, const struct shader_reg_maps *reg_maps_in,
const struct wined3d_shader_signature_element *output_signature, const struct shader_reg_maps *reg_maps_out)
{
}
/* GL locking is done by the caller */
-static GLhandleARB generate_param_reorder_function(struct SHADER_BUFFER *buffer,
+static GLhandleARB generate_param_reorder_function(struct wined3d_shader_buffer *buffer,
IWineD3DVertexShader *vertexshader, IWineD3DPixelShader *pixelshader, const WineD3D_GL_Info *gl_info)
{
GLhandleARB ret = 0;
}
/* GL locking is done by the caller */
-static GLuint shader_glsl_generate_pshader(IWineD3DPixelShaderImpl *This,
- SHADER_BUFFER *buffer, const struct ps_compile_args *args, struct ps_np2fixup_info *np2fixup_info)
+static GLuint shader_glsl_generate_pshader(IWineD3DPixelShaderImpl *This, struct wined3d_shader_buffer *buffer,
+ const struct ps_compile_args *args, struct ps_np2fixup_info *np2fixup_info)
{
const struct shader_reg_maps *reg_maps = &This->baseShader.reg_maps;
CONST DWORD *function = This->baseShader.function;
/* GL locking is done by the caller */
static GLuint shader_glsl_generate_vshader(IWineD3DVertexShaderImpl *This,
- SHADER_BUFFER *buffer, const struct vs_compile_args *args)
+ struct wined3d_shader_buffer *buffer, const struct vs_compile_args *args)
{
const struct shader_reg_maps *reg_maps = &This->baseShader.reg_maps;
CONST DWORD *function = This->baseShader.function;
return shader_obj;
}
-static GLhandleARB find_glsl_pshader(struct SHADER_BUFFER *buffer, IWineD3DPixelShaderImpl *shader,
+static GLhandleARB find_glsl_pshader(struct wined3d_shader_buffer *buffer, IWineD3DPixelShaderImpl *shader,
const struct ps_compile_args *args, const struct ps_np2fixup_info **np2fixup_info)
{
UINT i;
return stored->fog_src == new->fog_src;
}
-static GLhandleARB find_glsl_vshader(struct SHADER_BUFFER *buffer, IWineD3DVertexShaderImpl *shader,
+static GLhandleARB find_glsl_vshader(struct wined3d_shader_buffer *buffer, IWineD3DVertexShaderImpl *shader,
const struct vs_compile_args *args)
{
UINT i;