mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-02-15 01:50:06 +00:00
touchups
This commit is contained in:
parent
a1eee4a523
commit
dd0773dfb1
src
core/libraries/kernel
shader_recompiler/frontend
video_core/renderer_vulkan
|
@ -1069,16 +1069,7 @@ ScePthread PThreadPool::Create(const char* name) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _WIN64
|
|
||||||
auto* ret = new PthreadInternal{};
|
auto* ret = new PthreadInternal{};
|
||||||
#else
|
|
||||||
// TODO: Linux specific hack
|
|
||||||
static u8* hint_address = reinterpret_cast<u8*>(0x7FFFFC000ULL);
|
|
||||||
auto* ret = reinterpret_cast<PthreadInternal*>(
|
|
||||||
mmap(hint_address, sizeof(PthreadInternal), PROT_READ | PROT_WRITE,
|
|
||||||
MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0));
|
|
||||||
hint_address += Common::AlignUp(sizeof(PthreadInternal), 4_KB);
|
|
||||||
#endif
|
|
||||||
ret->is_free = false;
|
ret->is_free = false;
|
||||||
ret->is_detached = false;
|
ret->is_detached = false;
|
||||||
ret->is_almost_done = false;
|
ret->is_almost_done = false;
|
||||||
|
|
|
@ -138,7 +138,13 @@ void CFG::EmitDivergenceLabels() {
|
||||||
const auto& save_inst = inst_list[curr_begin];
|
const auto& save_inst = inst_list[curr_begin];
|
||||||
const Label label = index_to_pc[curr_begin] + save_inst.length;
|
const Label label = index_to_pc[curr_begin] + save_inst.length;
|
||||||
AddLabel(label);
|
AddLabel(label);
|
||||||
// Add a label to the close scope instruction as well.
|
// Add a label to the close scope instruction.
|
||||||
|
// There are 3 cases where we need to close a scope.
|
||||||
|
// * Close scope instruction inside the block
|
||||||
|
// * Close scope instruction at the end of the block (cbranch or endpgm)
|
||||||
|
// * Normal instruction at the end of the block
|
||||||
|
// For the last case we must NOT add a label as that would cause
|
||||||
|
// the instruction to be separated into its own basic block.
|
||||||
if (is_close) {
|
if (is_close) {
|
||||||
AddLabel(index_to_pc[index]);
|
AddLabel(index_to_pc[index]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,8 @@ Pipeline::Pipeline(const Instance& instance_, Scheduler& scheduler_, DescriptorH
|
||||||
Pipeline::~Pipeline() = default;
|
Pipeline::~Pipeline() = default;
|
||||||
|
|
||||||
void Pipeline::BindTextures(VideoCore::TextureCache& texture_cache, const Shader::Info& stage,
|
void Pipeline::BindTextures(VideoCore::TextureCache& texture_cache, const Shader::Info& stage,
|
||||||
Shader::Backend::Bindings& binding, DescriptorWrites& set_writes) const {
|
Shader::Backend::Bindings& binding,
|
||||||
|
DescriptorWrites& set_writes) const {
|
||||||
|
|
||||||
using ImageBindingInfo = std::tuple<VideoCore::ImageId, AmdGpu::Image, Shader::ImageResource>;
|
using ImageBindingInfo = std::tuple<VideoCore::ImageId, AmdGpu::Image, Shader::ImageResource>;
|
||||||
boost::container::static_vector<ImageBindingInfo, 32> image_bindings;
|
boost::container::static_vector<ImageBindingInfo, 32> image_bindings;
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "shader_recompiler/info.h"
|
|
||||||
#include "shader_recompiler/backend/bindings.h"
|
#include "shader_recompiler/backend/bindings.h"
|
||||||
|
#include "shader_recompiler/info.h"
|
||||||
#include "video_core/renderer_vulkan/vk_common.h"
|
#include "video_core/renderer_vulkan/vk_common.h"
|
||||||
|
|
||||||
namespace VideoCore {
|
namespace VideoCore {
|
||||||
|
|
Loading…
Reference in a new issue