mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2026-04-27 04:41:39 +00:00
Update ShaderRecomp, fix macros.
This commit is contained in:
parent
27c95d108d
commit
0106761a72
6 changed files with 25 additions and 20 deletions
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
#include "../../tools/ShaderRecomp/ShaderRecomp/shader_common.h"
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
#include "shader/copy_vs.hlsl.dxil.h"
|
||||
#include "shader/csd_filter_ps.hlsl.dxil.h"
|
||||
#include "shader/enhanced_motion_blur_ps.hlsl.dxil.h"
|
||||
|
|
@ -78,7 +78,7 @@ extern "C"
|
|||
|
||||
namespace plume
|
||||
{
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
extern std::unique_ptr<RenderInterface> CreateD3D12Interface();
|
||||
#endif
|
||||
extern std::unique_ptr<RenderInterface> CreateVulkanInterface();
|
||||
|
|
@ -180,7 +180,7 @@ static FORCEINLINE void SetDirtyValue(bool& dirtyState, T& dest, const T& src)
|
|||
}
|
||||
}
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
static bool g_vulkan = false;
|
||||
#else
|
||||
static constexpr bool g_vulkan = true;
|
||||
|
|
@ -590,13 +590,18 @@ static std::unique_ptr<uint8_t[]> g_buttonBcDiff;
|
|||
|
||||
static void LoadEmbeddedResources()
|
||||
{
|
||||
const size_t decompressedSize = g_vulkan ? g_spirvCacheDecompressedSize : g_dxilCacheDecompressedSize;
|
||||
g_shaderCache = std::make_unique<uint8_t[]>(decompressedSize);
|
||||
|
||||
ZSTD_decompress(g_shaderCache.get(),
|
||||
decompressedSize,
|
||||
g_vulkan ? g_compressedSpirvCache : g_compressedDxilCache,
|
||||
g_vulkan ? g_spirvCacheCompressedSize : g_dxilCacheCompressedSize);
|
||||
if (g_vulkan)
|
||||
{
|
||||
g_shaderCache = std::make_unique<uint8_t[]>(g_spirvCacheDecompressedSize);
|
||||
ZSTD_decompress(g_shaderCache.get(), g_spirvCacheDecompressedSize, g_compressedSpirvCache, g_spirvCacheCompressedSize);
|
||||
}
|
||||
#ifdef SWA_D3D12
|
||||
else
|
||||
{
|
||||
g_shaderCache = std::make_unique<uint8_t[]>(g_dxilCacheDecompressedSize);
|
||||
ZSTD_decompress(g_shaderCache.get(), g_dxilCacheDecompressedSize, g_compressedDxilCache, g_dxilCacheCompressedSize);
|
||||
}
|
||||
#endif
|
||||
|
||||
g_buttonBcDiff = decompressZstd(g_button_bc_diff, g_button_bc_diff_uncompressed_size);
|
||||
}
|
||||
|
|
@ -1073,7 +1078,7 @@ static GuestShader* g_csdShader;
|
|||
|
||||
static std::unique_ptr<GuestShader> g_enhancedMotionBlurShader;
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
|
||||
#define CREATE_SHADER(NAME) \
|
||||
g_device->createShader( \
|
||||
|
|
@ -1308,13 +1313,13 @@ void Video::CreateHostDevice()
|
|||
|
||||
Window::Init();
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
g_vulkan = DetectWine() || Config::GraphicsAPI == EGraphicsAPI::Vulkan;
|
||||
#endif
|
||||
|
||||
LoadEmbeddedResources();
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
g_interface = g_vulkan ? CreateVulkanInterface() : CreateD3D12Interface();
|
||||
#else
|
||||
g_interface = CreateVulkanInterface();
|
||||
|
|
@ -2832,7 +2837,7 @@ static RenderShader* GetOrLinkShader(GuestShader* guestShader, uint32_t specCons
|
|||
shader = guestShader->linkedShaders[specConstants].get();
|
||||
}
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
if (shader == nullptr)
|
||||
{
|
||||
static Mutex g_compiledSpecConstantLibraryBlobMutex;
|
||||
|
|
|
|||
|
|
@ -274,7 +274,7 @@ struct GuestShader : GuestResource
|
|||
std::unique_ptr<RenderShader> shader;
|
||||
struct ShaderCacheEntry* shaderCacheEntry = nullptr;
|
||||
ankerl::unordered_dense::map<uint32_t, std::unique_ptr<RenderShader>> linkedShaders;
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
std::vector<ComPtr<IDxcBlob>> shaderBlobs;
|
||||
ComPtr<IDxcBlobEncoding> libraryBlob;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
#include <dxcapi.h>
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public:
|
|||
CONFIG_DEFINE_LOCALISED("Audio", bool, MusicAttenuation, false);
|
||||
CONFIG_DEFINE_LOCALISED("Audio", bool, BattleTheme, true);
|
||||
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
CONFIG_DEFINE_ENUM("Video", EGraphicsAPI, GraphicsAPI, EGraphicsAPI::D3D12);
|
||||
#else
|
||||
CONFIG_DEFINE_ENUM("Video", EGraphicsAPI, GraphicsAPI, EGraphicsAPI::Vulkan);
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ CONFIG_DEFINE_ENUM_TEMPLATE(EVoiceLanguage)
|
|||
|
||||
enum class EGraphicsAPI : uint32_t
|
||||
{
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
D3D12,
|
||||
#endif
|
||||
Vulkan
|
||||
|
|
@ -103,7 +103,7 @@ enum class EGraphicsAPI : uint32_t
|
|||
|
||||
CONFIG_DEFINE_ENUM_TEMPLATE(EGraphicsAPI)
|
||||
{
|
||||
#if defined(SWA_D3D12)
|
||||
#ifdef SWA_D3D12
|
||||
{ "D3D12", EGraphicsAPI::D3D12 },
|
||||
#endif
|
||||
{ "Vulkan", EGraphicsAPI::Vulkan }
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 12b38144b9ff5d131e0d30af22bd38607d07d9fd
|
||||
Subproject commit 4b69741e196e0a8aed9d51bbe0cf24019afab08e
|
||||
Loading…
Add table
Reference in a new issue