mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 10:50:10 +01:00
pvr: Address TODO in PVR_PDS_CONST_MAP_ENTRY_TYPE_DESCRIPTOR_SET.
Signed-off-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com> Reviewed-by: Frank Binns <frank.binns@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19523>
This commit is contained in:
parent
43641c614d
commit
9ebf72f62a
1 changed files with 10 additions and 4 deletions
|
|
@ -2981,15 +2981,21 @@ static VkResult pvr_setup_descriptor_mappings(
|
|||
const struct pvr_const_map_entry_literal32 *literal;
|
||||
uint32_t zero_literal_value;
|
||||
|
||||
/* The code segment contains a DOUT instructions so in the data
|
||||
* section we have to write a DOUTD_SRC0 and DOUTD_SRC1.
|
||||
* We'll write 0 for DOUTD_SRC0 since we don't have a buffer to DMA.
|
||||
* We're expecting a LITERAL32 entry containing the value for
|
||||
* DOUTD_SRC1 next so let's make sure we get it and write it
|
||||
* with BSIZE to 0 disabling the DMA operation.
|
||||
* We don't want the LITERAL32 to be processed as normal otherwise
|
||||
* we'd be DMAing from an address of 0.
|
||||
*/
|
||||
|
||||
entries += sizeof(*desc_set_entry);
|
||||
literal = (struct pvr_const_map_entry_literal32 *)entries;
|
||||
|
||||
/* TODO: Is there any guarantee that a literal will follow the
|
||||
* descriptor set entry?
|
||||
*/
|
||||
assert(literal->type == PVR_PDS_CONST_MAP_ENTRY_TYPE_LITERAL32);
|
||||
|
||||
/* We zero out the DMA size so the DMA isn't performed. */
|
||||
zero_literal_value =
|
||||
literal->literal_value &
|
||||
PVR_ROGUE_PDSINST_DOUT_FIELDS_DOUTD_SRC1_BSIZE_CLRMSK;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue