mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-26 03:55:37 +00:00
Fixes
This commit is contained in:
parent
4a49e2bb31
commit
c52778a2d9
@ -239,6 +239,11 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span<const u32> dcb, std::span<c
|
||||
case 3:
|
||||
const u32 count = header->type3.NumWords();
|
||||
const PM4ItOpcode opcode = header->type3.opcode;
|
||||
const auto predicate = header->type3.predicate;
|
||||
if (predicate == PM4Predicate::PredEnable) {
|
||||
LOG_DEBUG(Render_Vulkan, "PM4 command {} is predicated",
|
||||
magic_enum::enum_name(opcode));
|
||||
}
|
||||
switch (opcode) {
|
||||
case PM4ItOpcode::Nop: {
|
||||
const auto* nop = reinterpret_cast<const PM4CmdNop*>(header);
|
||||
|
@ -420,7 +420,7 @@ struct PM4CmdEventWrite {
|
||||
T Address() const {
|
||||
ASSERT(event_index.Value() >= EventIndex::ZpassDone &&
|
||||
event_index.Value() <= EventIndex::SampleStreamoutStatSx);
|
||||
return reinterpret_cast<T>((u64(address[1]) << 32u) | u64(address[0]));
|
||||
return std::bit_cast<T>((u64(address[1]) << 32u) | u64(address[0]));
|
||||
}
|
||||
};
|
||||
|
||||
@ -1145,8 +1145,8 @@ struct PM4CmdSetPredication {
|
||||
|
||||
template <typename T = u64>
|
||||
T Address() const {
|
||||
return reinterpret_cast<T>(u64(start_address_lo.Value()) << 4 |
|
||||
u64(start_address_hi.Value()) << 32);
|
||||
return std::bit_cast<T>(u64(start_address_lo.Value()) << 4 | u64(start_address_hi.Value())
|
||||
<< 32);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -424,7 +424,7 @@ bool Instance::CreateDevice() {
|
||||
},
|
||||
vk::PhysicalDeviceConditionalRenderingFeaturesEXT{
|
||||
.conditionalRendering = true,
|
||||
}
|
||||
},
|
||||
#ifdef __APPLE__
|
||||
portability_features,
|
||||
#endif
|
||||
|
@ -1290,7 +1290,10 @@ void Rasterizer::StartPredication(VAddr addr, bool draw_if_visible, bool wait_fo
|
||||
ASSERT(occlusion_index_mapping.contains(addr));
|
||||
|
||||
auto index = occlusion_index_mapping[addr];
|
||||
LOG_DEBUG(Render_Vulkan, "addr = {:#x}, index = {}", addr, index);
|
||||
LOG_DEBUG(Render_Vulkan,
|
||||
"addr = {:#x}, index = {}, draw_if_visible = {} "
|
||||
"wait_for_result = {}",
|
||||
addr, index, draw_if_visible, wait_for_result);
|
||||
|
||||
scheduler.EndRendering();
|
||||
const auto cmdbuf = scheduler.CommandBuffer();
|
||||
|
Loading…
Reference in New Issue
Block a user