Lines Matching defs:curr

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