Lines Matching refs:buffer
524 * \param buffer Pointer to the buffer for the program.
527 * \returns Pointer to just beyond the buffer for the program.
531 uint32_t *restrict buffer,
536 uint32_t *constants = buffer;
558 pvr_pds_write_wide_constant(buffer,
590 *buffer++ = pvr_pds_encode_doutw64(
599 *buffer++ = pvr_pds_encode_doutu(
616 return buffer;
688 * \param buffer Pointer to buffer that receives the output of this function.
695 * \returns Pointer to just beyond the buffer for the data - i.e the value
696 * of the buffer after writing its contents.
700 uint32_t *restrict buffer,
757 buffer[i] = 0xDEADBEEF;
854 buffer,
952 * sourcing from client data cannot fit into vertex buffer and needs to
959 pvr_pds_write_constant32(buffer,
963 *buffer++ = pvr_pds_inst_encode_add32(
979 pvr_pds_write_constant32(buffer,
1030 pvr_pds_write_constant32(buffer,
1036 pvr_pds_write_constant32(buffer,
1085 *buffer++ = pvr_pds_inst_encode_limm(0, temp, 0, 0);
1094 *buffer++ = pvr_pds_inst_encode_limm(0, temp, 0, 0);
1098 *buffer++ = pvr_pds_inst_encode_limm(0, temp + 1, 0, 0);
1103 *buffer++ = pvr_rogue_inst_encode_mad(
1122 *buffer++ = pvr_pds_inst_encode_stflp64(
1139 *buffer++ = pvr_pds_inst_encode_stflp64(
1152 *buffer++ =
1171 *buffer++ = pvr_pds_inst_encode_stflp32(
1184 *buffer++ =
1196 *buffer++ =
1245 *buffer++ = pvr_pds_encode_bra(
1253 *buffer++ =
1255 *buffer++ =
1260 *buffer++ = pvr_pds_inst_encode_stflp32(
1270 *buffer++ = pvr_pds_inst_encode_stflp32(
1323 pvr_pds_write_dma_address(buffer,
1380 pvr_pds_write_wide_constant(buffer,
1389 *buffer++ = pvr_pds_inst_encode_cmp(
1413 *buffer++ = pvr_pds_inst_encode_ddmad(
1449 pvr_pds_write_dma_address(buffer,
1504 pvr_pds_write_wide_constant(buffer,
1517 *buffer++ = pvr_pds_inst_encode_ddmad(
1544 buffer,
1552 *buffer++ = pvr_pds_inst_encode_ddmad(
1576 *buffer++ =
1590 *buffer++ = pvr_pds_inst_encode_add32(
1615 pvr_pds_write_constant32(buffer,
1619 *buffer++ = pvr_pds_encode_doutw64(
1643 pvr_pds_write_constant32(buffer,
1647 *buffer++ = pvr_pds_encode_doutw64(
1668 pvr_pds_write_constant64(buffer,
1673 *buffer++ = pvr_pds_encode_doutw64(
1687 pvr_pds_write_wide_constant(buffer,
1703 *buffer++ = pvr_pds_encode_doutu(
1709 *buffer++ = pvr_pds_inst_encode_halt(0);
1715 /* Set the data segment pointer and ensure we return 1 past the buffer
1718 program->data_segment = buffer;
1720 buffer += consts_size;
1730 return buffer;
1739 * \param buffer Pointer to buffer that receives the output of this function.
1746 * \returns Pointer to just beyond the buffer for the data - i.e. the value of
1747 * the buffer after writing its contents.
1751 uint32_t *restrict buffer,
1787 buffer[j] = 0xDEADBEEF;
1871 pvr_pds_write_wide_constant(buffer,
1881 buffer,
1889 pvr_pds_write_wide_constant(buffer, zero_constant64, 0); /* 64-bit
1903 pvr_pds_write_constant32(buffer, barrier_ctrl_word2, doutw);
1925 pvr_pds_write_constant32(buffer, barrier_ctrl_word, doutw);
1953 pvr_pds_write_constant32(buffer, work_group_id_ctrl_words[0], doutw);
1974 pvr_pds_write_constant32(buffer,
1994 pvr_pds_write_constant32(buffer,
2011 pvr_pds_write_constant32(buffer, work_group_id_ctrl_words[1], doutw);
2052 pvr_pds_write_constant32(buffer, local_id_ctrl_word, doutw);
2066 pvr_pds_write_constant32(buffer, local_id_ctrl_word, doutw);
2081 pvr_pds_write_constant32(buffer, local_id_ctrl_word, doutw);
2090 *buffer = X; \
2091 buffer++; \
2354 /* Set the data segment pointer and ensure we return 1 past the buffer
2357 program->data_segment = buffer;
2359 buffer += next_constant;
2371 return buffer;
2379 * \param buffer Pointer to the buffer for the program.
2386 uint32_t *restrict buffer,
2439 buffer_base = buffer;
2449 buffer += 2;
2457 buffer += 2;
2496 buffer += total_size_dma + total_num_doutw;
2515 /* Move the buffer ptr along as we will return 1 past the buffer. */
2516 buffer += 3;
2549 buffer += 3 * program->num_dma_kicks;
2554 *buffer++ = pvr_pds_inst_encode_add64(
2570 *buffer++ = pvr_pds_encode_doutw64(
2583 *buffer++ = pvr_pds_encode_doutw64(
2600 *buffer++ = pvr_pds_encode_doutd(
2610 *buffer++ = pvr_pds_encode_doutd(
2629 *buffer++ = pvr_pds_encode_doutu(
2638 *buffer++ = pvr_pds_inst_encode_halt(0);
2656 return buffer;
2664 * \param buffer Pointer to the buffer for the code/data.
2666 * \returns Pointer to just beyond the buffer for the program/data.
2670 uint32_t *restrict buffer,
2679 assert((((uintptr_t)buffer) & (PDS_ROGUE_TA_STATE_PDS_ADDR_ALIGNSIZE - 1)) ==
2705 instruction = buffer;
3032 * \param buffer Pointer to the buffer for the code/data.
3035 * \returns Pointer to just beyond the buffer for the program/data.
3039 uint32_t *restrict buffer,
3044 uint32_t *constants = buffer;
3049 assert((((uintptr_t)buffer) & (PDS_ROGUE_TA_STATE_PDS_ADDR_ALIGNSIZE - 1)) ==
3413 * \param buffer Pointer to the buffer for the program.
3415 * \returns Pointer to just beyond the buffer for the code or program segment.
3418 uint32_t *restrict buffer,
3427 uint32_t *constants = buffer; /* Constants placed at front of buffer. */
3428 uint32_t *instruction = buffer;
3456 buffer += data_size;
3458 return buffer;
3480 * \param buffer Pointer to the buffer for the program.
3483 * \returns Pointer to just beyond the buffer for the code or program segment.
3486 uint32_t *restrict buffer,
3496 /* Assert if buffer is exceeded. */
3499 uint32_t *constants = buffer;
3500 uint32_t *instruction = buffer;
3589 * \param buffer Pointer to the buffer for the program.
3594 * \returns Pointer to just beyond the buffer for the code or program segment.
3597 uint32_t *restrict buffer,
3610 uint32_t *constants = buffer; /* Constants placed at front of buffer. */
3634 buffer += data_size;
3637 return buffer;
3645 uint32_t *instruction = buffer;
3669 uint32_t *buffer,
3675 return buffer; /* No data segment. */
3679 *buffer++ = pvr_pds_encode_bra(PVR_ROGUE_PDSINST_PREDICATE_IF0, /* SRCC
3688 *buffer++ = pvr_pds_inst_encode_halt(1);
3691 *buffer++ = pvr_pds_encode_bra(PVR_ROGUE_PDSINST_PREDICATE_IF0, /* SRCC
3700 return buffer;
3707 * \param buffer Pointer to the buffer for the program.
3710 * \returns Pointer to just beyond the buffer for the program.
3714 uint32_t *restrict buffer,
3725 uint32_t *constants = buffer;
3743 uint32_t *instruction = buffer;
3750 pvr_pds_generate_doutw(doutw_control, buffer, gen_mode, dev_info);
3770 uint32_t *restrict buffer,
3781 constants = constants_base = (uint32_t *)buffer;
3801 uint32_t *instruction = (uint32_t *)buffer;
3866 * \param buffer Pointer to the buffer for the program.
3869 * \returns Pointer to just beyond the buffer for the program.
3873 uint32_t *restrict buffer,
3892 uint32_t *constants = buffer;
3913 * buffer). Fence barrier is initialized to zero.
3915 pvr_pds_write_wide_constant(buffer, fence_constant_word, zero_constant64);
3926 uint32_t *instruction = buffer;
3984 * \param buffer Pointer to the buffer for the program.
3986 * \returns Pointer to just beyond the buffer for the program.
3990 uint32_t *restrict buffer,
3997 /* Place constants at the front of the buffer. */
3998 uint32_t *constants = buffer;
4021 instruction = buffer + total_data_size;
4046 /* Write the word to the buffer. */
4087 * \param buffer Pointer to the buffer for the program.
4091 * \returns Pointer to just beyond the buffer for the program.
4102 uint32_t *restrict buffer,
4178 pvr_pds_write_constant64(buffer,
4189 *buffer++ = pvr_pds_inst_encode_ld(0, constant >> 1);
4192 *buffer++ = pvr_pds_inst_encode_wdf(0);
4237 pvr_pds_write_constant64(buffer,
4249 *buffer++ = pvr_pds_inst_encode_st(0, constant >> 1);
4252 *buffer++ = pvr_pds_inst_encode_wdf(0);
4262 return buffer;
4267 * Generate programs used to prepare stream out, i.e., clear stream out buffer
4273 * \param buffer Pointer to the buffer for the program.
4278 * \returns Pointer to just beyond the buffer for the program.
4282 uint32_t *restrict buffer,
4297 * are not used during the stream out buffer overflow test.
4299 *buffer++ = pvr_pds_inst_encode_stmc(0, 0x10);
4309 buffer = pvr_pds_generate_single_ldst_instruction(
4318 buffer,
4331 *buffer++ = pvr_pds_inst_encode_wdf(0);
4332 *buffer++ = pvr_pds_inst_encode_halt(0);
4342 return buffer + program->stream_out_init_pds_data_size;
4344 return buffer;
4362 * \param buffer Pointer to the buffer for the program.
4365 * \returns Pointer to just beyond the buffer for the program.
4369 uint32_t *restrict buffer,
4380 buffer = pvr_pds_generate_single_ldst_instruction(
4389 buffer,
4396 *buffer++ = pvr_pds_inst_encode_wdf(0);
4397 *buffer++ = pvr_pds_inst_encode_halt(0);
4407 return buffer + program->stream_out_terminate_pds_data_size;
4409 return buffer;
4416 * 1) load data from draw_indirect buffer
4426 * loading enough dwords that we load the entirety of the buffer.
4499 uint32_t *restrict buffer,
4558 memcpy(buffer,
4563 PVR_PDS_PRINT_INST(buffer[i]);
4574 buffer,
4578 buffer,
4581 buffer,
4584 buffer,
4587 buffer);
4590 buffer,
4594 buffer,
4597 buffer,
4600 buffer,
4602 pvr_write_draw_indirect_arrays_base_instance0_immediates(buffer);
4605 pvr_write_draw_indirect_arrays0_di_data(buffer,
4610 buffer,
4613 buffer,
4615 pvr_write_draw_indirect_arrays0_num_views(buffer,
4617 pvr_write_draw_indirect_arrays0_immediates(buffer);
4624 buffer,
4628 buffer,
4631 buffer,
4634 buffer,
4637 buffer);
4640 buffer,
4644 buffer,
4647 buffer,
4650 buffer,
4652 pvr_write_draw_indirect_arrays_base_instance1_immediates(buffer);
4655 pvr_write_draw_indirect_arrays1_di_data(buffer,
4660 buffer,
4663 buffer,
4665 pvr_write_draw_indirect_arrays1_num_views(buffer,
4667 pvr_write_draw_indirect_arrays1_immediates(buffer);
4674 buffer,
4678 buffer,
4681 buffer,
4684 buffer,
4687 buffer);
4690 buffer,
4694 buffer,
4697 buffer,
4700 buffer,
4702 pvr_write_draw_indirect_arrays_base_instance2_immediates(buffer);
4705 pvr_write_draw_indirect_arrays2_di_data(buffer,
4710 buffer,
4713 buffer,
4715 pvr_write_draw_indirect_arrays2_num_views(buffer,
4717 pvr_write_draw_indirect_arrays2_immediates(buffer);
4724 buffer,
4728 buffer,
4731 buffer,
4734 buffer,
4737 buffer);
4740 buffer,
4744 buffer,
4747 buffer,
4750 buffer,
4752 pvr_write_draw_indirect_arrays_base_instance3_immediates(buffer);
4755 pvr_write_draw_indirect_arrays3_di_data(buffer,
4760 buffer,
4763 buffer,
4765 pvr_write_draw_indirect_arrays3_num_views(buffer,
4767 pvr_write_draw_indirect_arrays3_immediates(buffer);
4789 uint32_t *restrict buffer,
4848 memcpy(buffer,
4854 PVR_PDS_PRINT_INST(buffer[i]);
4865 buffer,
4869 buffer,
4872 buffer,
4875 buffer,
4878 buffer,
4881 buffer,
4884 buffer,
4887 buffer);
4890 buffer,
4894 buffer,
4897 buffer,
4900 buffer,
4903 buffer,
4906 buffer,
4909 buffer,
4912 buffer);
4915 pvr_write_draw_indirect_elements0_di_data(buffer,
4920 buffer,
4923 buffer,
4925 pvr_write_draw_indirect_elements0_num_views(buffer,
4927 pvr_write_draw_indirect_elements0_idx_stride(buffer,
4929 pvr_write_draw_indirect_elements0_idx_base(buffer,
4932 buffer,
4934 pvr_write_draw_indirect_elements0_immediates(buffer);
4941 buffer,
4945 buffer,
4948 buffer,
4951 buffer,
4954 buffer,
4957 buffer,
4960 buffer,
4963 buffer);
4966 buffer,
4970 buffer,
4973 buffer,
4976 buffer,
4979 buffer,
4982 buffer,
4985 buffer,
4988 buffer);
4991 pvr_write_draw_indirect_elements1_di_data(buffer,
4996 buffer,
4999 buffer,
5001 pvr_write_draw_indirect_elements1_num_views(buffer,
5003 pvr_write_draw_indirect_elements1_idx_stride(buffer,
5005 pvr_write_draw_indirect_elements1_idx_base(buffer,
5008 buffer,
5010 pvr_write_draw_indirect_elements1_immediates(buffer);
5017 buffer,
5021 buffer,
5024 buffer,
5027 buffer,
5030 buffer,
5033 buffer,
5036 buffer,
5039 buffer);
5042 buffer,
5046 buffer,
5049 buffer,
5052 buffer,
5055 buffer,
5058 buffer,
5061 buffer,
5064 buffer);
5067 pvr_write_draw_indirect_elements2_di_data(buffer,
5072 buffer,
5075 buffer,
5077 pvr_write_draw_indirect_elements2_num_views(buffer,
5079 pvr_write_draw_indirect_elements2_idx_stride(buffer,
5081 pvr_write_draw_indirect_elements2_idx_base(buffer,
5084 buffer,
5086 pvr_write_draw_indirect_elements2_immediates(buffer);
5093 buffer,
5097 buffer,
5100 buffer,
5103 buffer,
5106 buffer,
5109 buffer,
5112 buffer,
5115 buffer);
5118 buffer,
5122 buffer,
5125 buffer,
5128 buffer,
5131 buffer,
5134 buffer,
5137 buffer,
5140 buffer);
5143 pvr_write_draw_indirect_elements3_di_data(buffer,
5148 buffer,
5151 buffer,
5153 pvr_write_draw_indirect_elements3_num_views(buffer,
5155 pvr_write_draw_indirect_elements3_idx_stride(buffer,
5157 pvr_write_draw_indirect_elements3_idx_base(buffer,
5160 buffer,
5162 pvr_write_draw_indirect_elements3_immediates(buffer);