Lines Matching refs:curr
43 parser->curr = parser->code = code; in Shader_parse_init()
45 parser->header.type = DECODE_D3D10_SB_TOKENIZED_PROGRAM_TYPE(*parser->curr); in Shader_parse_init()
46 parser->header.major_version = DECODE_D3D10_SB_TOKENIZED_PROGRAM_MAJOR_VERSION(*parser->curr); in Shader_parse_init()
47 parser->header.minor_version = DECODE_D3D10_SB_TOKENIZED_PROGRAM_MINOR_VERSION(*parser->curr); in Shader_parse_init()
48 parser->curr++; in Shader_parse_init()
50 parser->header.size = DECODE_D3D10_SB_TOKENIZED_PROGRAM_LENGTH(*parser->curr); in Shader_parse_init()
51 parser->curr++; in Shader_parse_init()
189 parse_operand(const unsigned **curr, in parse_operand() argument
192 operand->type = DECODE_D3D10_SB_OPERAND_TYPE(**curr); in parse_operand()
195 switch (DECODE_D3D10_SB_OPERAND_INDEX_DIMENSION(**curr)) { in parse_operand()
210 operand->index[0].index_rep = DECODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION(0, **curr); in parse_operand()
212 operand->index[1].index_rep = DECODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION(1, **curr); in parse_operand()
216 (*curr)++; in parse_operand()
220 parse_relative_operand(const unsigned **curr, in parse_relative_operand() argument
223 assert(!DECODE_IS_D3D10_SB_OPERAND_EXTENDED(**curr)); in parse_relative_operand()
224 assert(DECODE_D3D10_SB_OPERAND_NUM_COMPONENTS(**curr) == D3D10_SB_OPERAND_4_COMPONENT); in parse_relative_operand()
225 …assert(DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(**curr) == D3D10_SB_OPERAND_4_COMPONENT_… in parse_relative_operand()
227 operand->comp = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1(**curr); in parse_relative_operand()
229 operand->type = DECODE_D3D10_SB_OPERAND_TYPE(**curr); in parse_relative_operand()
233 …assert(DECODE_D3D10_SB_OPERAND_INDEX_REPRESENTATION(0, **curr) == D3D10_SB_OPERAND_INDEX_IMMEDIATE… in parse_relative_operand()
235 if (DECODE_D3D10_SB_OPERAND_INDEX_DIMENSION(**curr) == D3D10_SB_OPERAND_INDEX_1D) { in parse_relative_operand()
236 (*curr)++; in parse_relative_operand()
237 operand->index[0].imm = **curr; in parse_relative_operand()
239 assert(DECODE_D3D10_SB_OPERAND_INDEX_DIMENSION(**curr) == D3D10_SB_OPERAND_INDEX_2D); in parse_relative_operand()
240 (*curr)++; in parse_relative_operand()
241 operand->index[0].imm = **curr; in parse_relative_operand()
242 (*curr)++; in parse_relative_operand()
243 operand->index[1].imm = **curr; in parse_relative_operand()
246 (*curr)++; in parse_relative_operand()
250 parse_index(const unsigned **curr, in parse_index() argument
255 index->imm = *(*curr)++; in parse_index()
259 parse_relative_operand(curr, &index->rel); in parse_index()
262 index->imm = *(*curr)++; in parse_index()
263 parse_relative_operand(curr, &index->rel); in parse_index()
273 parse_operand_index(const unsigned **curr, in parse_operand_index() argument
277 parse_index(curr, &operand->index[0]); in parse_operand_index()
279 parse_index(curr, &operand->index[1]); in parse_operand_index()
288 const unsigned *curr = parser->curr; in Shader_parse_opcode() local
294 if (curr >= parser->code + parser->header.size) { in Shader_parse_opcode()
301 opcode->type = DECODE_D3D10_SB_OPCODE_TYPE(*curr); in Shader_parse_opcode()
304 opcode->customdata._class = DECODE_D3D10_SB_CUSTOMDATA_CLASS(*curr); in Shader_parse_opcode()
305 curr++; in Shader_parse_opcode()
309 opcode->customdata.u.constbuf.count = *curr - 2; in Shader_parse_opcode()
310 curr++; in Shader_parse_opcode()
316 curr, in Shader_parse_opcode()
318 curr += opcode->customdata.u.constbuf.count; in Shader_parse_opcode()
320 parser->curr = curr; in Shader_parse_opcode()
333 opcode->specific.dcl_resource_dimension = DECODE_D3D10_SB_RESOURCE_DIMENSION(*curr); in Shader_parse_opcode()
336 opcode->specific.dcl_sampler_mode = DECODE_D3D10_SB_SAMPLER_MODE(*curr); in Shader_parse_opcode()
339 …e->specific.dcl_gs_output_primitive_topology = DECODE_D3D10_SB_GS_OUTPUT_PRIMITIVE_TOPOLOGY(*curr); in Shader_parse_opcode()
342 opcode->specific.dcl_gs_input_primitive = DECODE_D3D10_SB_GS_INPUT_PRIMITIVE(*curr); in Shader_parse_opcode()
346 opcode->specific.dcl_in_ps_interp = DECODE_D3D10_SB_INPUT_INTERPOLATION_MODE(*curr); in Shader_parse_opcode()
349 … opcode->specific.global_flags.refactoring_allowed = DECODE_D3D10_SB_GLOBAL_FLAGS(*curr) ? 1 : 0; in Shader_parse_opcode()
357 !!DECODE_IS_D3D10_SB_INSTRUCTION_SATURATE_ENABLED(*curr); in Shader_parse_opcode()
360 DECODE_D3D10_SB_INSTRUCTION_TEST_BOOLEAN(*curr); in Shader_parse_opcode()
363 DECODE_D3D10_SB_RESINFO_INSTRUCTION_RETURN_TYPE(*curr); in Shader_parse_opcode()
366 if (*curr & ((1 << 24) - (1 << 11))) { in Shader_parse_opcode()
375 length = DECODE_D3D10_SB_TOKENIZED_INSTRUCTION_LENGTH(*curr); in Shader_parse_opcode()
376 assert(curr + length <= parser->code + parser->header.size); in Shader_parse_opcode()
382 DECODE_D3D10_SB_CONSTANT_BUFFER_ACCESS_PATTERN(*curr); in Shader_parse_opcode()
388 opcode_is_extended = DECODE_IS_D3D10_SB_OPCODE_EXTENDED(*curr); in Shader_parse_opcode()
390 curr++; in Shader_parse_opcode()
395 …assert(!((*curr & D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK) >> D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT… in Shader_parse_opcode()
397 switch (DECODE_D3D10_SB_EXTENDED_OPCODE_TYPE(*curr)) { in Shader_parse_opcode()
401 …el_offset.u = DECODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET(D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_U, *curr); in Shader_parse_opcode()
402 …el_offset.v = DECODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET(D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_V, *curr); in Shader_parse_opcode()
403 …el_offset.w = DECODE_IMMEDIATE_D3D10_SB_ADDRESS_OFFSET(D3D10_SB_IMMEDIATE_ADDRESS_OFFSET_W, *curr); in Shader_parse_opcode()
409 curr++; in Shader_parse_opcode()
430 assert(!DECODE_IS_D3D10_SB_OPERAND_EXTENDED(*curr)); in Shader_parse_opcode()
432 num_components = DECODE_D3D10_SB_OPERAND_NUM_COMPONENTS(*curr); in Shader_parse_opcode()
436 selection_mode = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(*curr); in Shader_parse_opcode()
439 opcode->dst[i].mask = DECODE_D3D10_SB_OPERAND_4_COMPONENT_MASK(*curr); in Shader_parse_opcode()
447 parse_operand(&curr, &opcode->dst[i].base); in Shader_parse_opcode()
448 parse_operand_index(&curr, &opcode->dst[i].base); in Shader_parse_opcode()
456 extended = DECODE_IS_D3D10_SB_OPERAND_EXTENDED(*curr); in Shader_parse_opcode()
458 num_components = DECODE_D3D10_SB_OPERAND_NUM_COMPONENTS(*curr); in Shader_parse_opcode()
462 selection_mode = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECTION_MODE(*curr); in Shader_parse_opcode()
465 … opcode->src[i].swizzle[0] = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SOURCE(*curr, 0); in Shader_parse_opcode()
466 … opcode->src[i].swizzle[1] = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SOURCE(*curr, 1); in Shader_parse_opcode()
467 … opcode->src[i].swizzle[2] = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SOURCE(*curr, 2); in Shader_parse_opcode()
468 … opcode->src[i].swizzle[3] = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SWIZZLE_SOURCE(*curr, 3); in Shader_parse_opcode()
473 opcode->src[i].swizzle[3] = DECODE_D3D10_SB_OPERAND_4_COMPONENT_SELECT_1(*curr); in Shader_parse_opcode()
479 assert(DECODE_D3D10_SB_OPERAND_4_COMPONENT_MASK(*curr) == 0); in Shader_parse_opcode()
480 assert(DECODE_D3D10_SB_OPERAND_TYPE(*curr) == D3D10_SB_OPERAND_TYPE_IMMEDIATE32); in Shader_parse_opcode()
497 assert(DECODE_D3D10_SB_OPERAND_TYPE(*curr) == D3D10_SB_OPERAND_TYPE_SAMPLER || in Shader_parse_opcode()
498 DECODE_D3D10_SB_OPERAND_TYPE(*curr) == D3D10_SB_OPERAND_TYPE_LABEL); in Shader_parse_opcode()
506 parse_operand(&curr, &opcode->src[i].base); in Shader_parse_opcode()
512 …assert(!((*curr & D3D10_SB_OPERAND_DOUBLE_EXTENDED_MASK) >> D3D10_SB_OPERAND_DOUBLE_EXTENDED_SHIFT… in Shader_parse_opcode()
514 switch (DECODE_D3D10_SB_EXTENDED_OPERAND_TYPE(*curr)) { in Shader_parse_opcode()
519 opcode->src[i].modifier = DECODE_D3D10_SB_OPERAND_MODIFIER(*curr); in Shader_parse_opcode()
526 curr++; in Shader_parse_opcode()
529 parse_operand_index(&curr, &opcode->src[i].base); in Shader_parse_opcode()
537 opcode->src[i].imm[3].u32 = *curr++; in Shader_parse_opcode()
541 opcode->src[i].imm[0].u32 = *curr++; in Shader_parse_opcode()
542 opcode->src[i].imm[1].u32 = *curr++; in Shader_parse_opcode()
543 opcode->src[i].imm[2].u32 = *curr++; in Shader_parse_opcode()
544 opcode->src[i].imm[3].u32 = *curr++; in Shader_parse_opcode()
558 opcode->dcl_resource_ret_type[0] = DECODE_D3D10_SB_RESOURCE_RETURN_TYPE(*curr, 0); in Shader_parse_opcode()
559 opcode->dcl_resource_ret_type[1] = DECODE_D3D10_SB_RESOURCE_RETURN_TYPE(*curr, 1); in Shader_parse_opcode()
560 opcode->dcl_resource_ret_type[2] = DECODE_D3D10_SB_RESOURCE_RETURN_TYPE(*curr, 2); in Shader_parse_opcode()
561 opcode->dcl_resource_ret_type[3] = DECODE_D3D10_SB_RESOURCE_RETURN_TYPE(*curr, 3); in Shader_parse_opcode()
562 curr++; in Shader_parse_opcode()
565 opcode->specific.dcl_max_output_vertex_count = *curr; in Shader_parse_opcode()
566 curr++; in Shader_parse_opcode()
574 opcode->dcl_siv_name = DECODE_D3D10_SB_NAME(*curr); in Shader_parse_opcode()
575 curr++; in Shader_parse_opcode()
578 opcode->specific.dcl_num_temps = *curr; in Shader_parse_opcode()
579 curr++; in Shader_parse_opcode()
582 opcode->specific.dcl_indexable_temp.index = *curr++; in Shader_parse_opcode()
583 opcode->specific.dcl_indexable_temp.count = *curr++; in Shader_parse_opcode()
584 opcode->specific.dcl_indexable_temp.components = *curr++; in Shader_parse_opcode()
587 opcode->specific.index_range_count = *curr++; in Shader_parse_opcode()
593 assert(curr == parser->curr + length); in Shader_parse_opcode()
597 parser->curr += length; in Shader_parse_opcode()