Lines Matching defs:reg_maps

337 static void shader_record_register_usage(IWineD3DBaseShaderImpl *shader, struct shader_reg_maps *reg_maps,
343 if (shader_type == WINED3D_SHADER_TYPE_PIXEL) reg_maps->texcoord |= 1 << reg->idx;
344 else reg_maps->address |= 1 << reg->idx;
348 reg_maps->temporary |= 1 << reg->idx;
370 else reg_maps->input_registers |= 1 << reg->idx;
374 if (reg->idx == 1) reg_maps->fog = 1;
380 if (reg->idx == 0) reg_maps->vpos = 1;
381 else if (reg->idx == 1) reg_maps->usesfacing = 1;
399 reg_maps->usesrelconstF = TRUE;
403 set_bitmap_bit(reg_maps->constf, reg->idx);
408 reg_maps->integer_constants |= (1 << reg->idx);
412 reg_maps->boolean_constants |= (1 << reg->idx);
416 reg_maps->highest_render_target = max(reg_maps->highest_render_target, reg->idx);
447 struct shader_reg_maps *reg_maps, struct wined3d_shader_signature_element *input_signature,
456 memset(reg_maps, 0, sizeof(*reg_maps));
466 reg_maps->shader_version = shader_version;
468 reg_maps->constf = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
469 sizeof(*reg_maps->constf) * ((constf_size + 31) / 32));
470 if (!reg_maps->constf)
509 reg_maps->input_registers |= 1 << semantic.reg.reg.idx;
515 reg_maps->output_registers |= 1 << semantic.reg.reg.idx;
517 if (semantic.usage == WINED3DDECLUSAGE_FOG) reg_maps->fog = 1;
522 reg_maps->sampler_type[semantic.reg.reg.idx] = semantic.sampler_type;
575 reg_maps->local_int_consts |= (1 << dst.reg.idx);
592 reg_maps->local_bool_consts |= (1 << dst.reg.idx);
605 reg_maps->integer_constants |= 1 << src.reg.idx;
610 reg_maps->integer_constants |= 1 << src.reg.idx;
627 reg_maps->labels |= 1 << src.reg.idx;
648 shader_record_register_usage(shader, reg_maps, &dst_param.reg, shader_version.type);
656 reg_maps->texcoord_mask[dst_param.reg.idx] |= dst_param.write_mask;
707 reg_maps->sampler_type[sampler_code] = WINED3DSTT_2D;
713 reg_maps->bumpmat |= 1 << dst_param.reg.idx;
716 reg_maps->luminanceparams |= 1 << dst_param.reg.idx;
722 reg_maps->bumpmat |= 1 << dst_param.reg.idx;
726 if (ins.handler_idx == WINED3DSIH_NRM) reg_maps->usesnrm = 1;
727 else if (ins.handler_idx == WINED3DSIH_DSY) reg_maps->usesdsy = 1;
728 else if (ins.handler_idx == WINED3DSIH_DSX) reg_maps->usesdsx = 1;
729 else if (ins.handler_idx == WINED3DSIH_TEXLDD) reg_maps->usestexldd = 1;
730 else if (ins.handler_idx == WINED3DSIH_TEXLDL) reg_maps->usestexldl = 1;
731 else if (ins.handler_idx == WINED3DSIH_MOVA) reg_maps->usesmova = 1;
732 else if (ins.handler_idx == WINED3DSIH_IFC) reg_maps->usesifc = 1;
733 else if (ins.handler_idx == WINED3DSIH_CALL) reg_maps->usescall = 1;
744 shader_record_register_usage(shader, reg_maps, &src_param.reg, shader_version.type);
748 shader_record_register_usage(shader, reg_maps, &src_param.reg, shader_version.type);
765 reg_maps->loop_depth = max_loop_depth;
772 unsigned int shader_find_free_input_register(const struct shader_reg_maps *reg_maps, unsigned int max)
776 map &= reg_maps->shader_version.major < 3 ? ~reg_maps->texcoord : ~reg_maps->input_registers;
1096 const shader_reg_maps *reg_maps, const DWORD *byte_code, void *backend_ctx)
1115 ctx.reg_maps = reg_maps;
1401 HeapFree(GetProcessHeap(), 0, shader->baseShader.reg_maps.constf);
1502 struct shader_reg_maps *reg_maps = &shader->baseShader.reg_maps;
1533 reg_maps, shader->baseShader.input_signature, shader->baseShader.output_signature,
1681 WORD map = shader->baseShader.reg_maps.input_registers;
1700 DWORD shader_version = WINED3D_SHADER_VERSION(shader->baseShader.reg_maps.shader_version.major,
1701 shader->baseShader.reg_maps.shader_version.minor);
1767 shader->baseShader.reg_maps.shader_version.major,
1768 shader->baseShader.reg_maps.shader_version.minor);
1777 struct shader_reg_maps *reg_maps = &shader->baseShader.reg_maps;
1796 map = shader->baseShader.reg_maps.input_registers;
1811 reg_maps->output_registers |= 1 << e->register_idx;
1842 shader->baseShader.load_local_constsF = shader->baseShader.reg_maps.usesrelconstF
2036 if (shader->baseShader.reg_maps.shader_version.major==1
2037 && shader->baseShader.reg_maps.shader_version.minor<=3)
2053 if (!shader->baseShader.reg_maps.sampler_type[i]) continue;
2073 if (shader->baseShader.reg_maps.shader_version.major >= 3)
2127 DWORD shader_version = WINED3D_SHADER_VERSION(shader->baseShader.reg_maps.shader_version.major,
2128 shader->baseShader.reg_maps.shader_version.minor);
2208 shader->baseShader.reg_maps.shader_version.major,
2209 shader->baseShader.reg_maps.shader_version.minor);
2281 void pixelshader_update_samplers(struct shader_reg_maps *reg_maps, IWineD3DBaseTexture * const *textures)
2283 WINED3DSAMPLER_TEXTURE_TYPE *sampler_type = reg_maps->sampler_type;
2286 if (reg_maps->shader_version.major != 1) return;