[Vulkan] Remove old Vulkan code, change shaders directory, create empty Vulkan backend
This commit is contained in:
parent
1e9ee8f43b
commit
7b93670dbd
|
@ -248,7 +248,6 @@ solution("xenia")
|
||||||
include("src/xenia/hid/sdl")
|
include("src/xenia/hid/sdl")
|
||||||
include("src/xenia/kernel")
|
include("src/xenia/kernel")
|
||||||
include("src/xenia/ui")
|
include("src/xenia/ui")
|
||||||
include("src/xenia/ui/spirv")
|
|
||||||
include("src/xenia/ui/vulkan")
|
include("src/xenia/ui/vulkan")
|
||||||
include("src/xenia/vfs")
|
include("src/xenia/vfs")
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,6 @@ project("xenia-app")
|
||||||
"xenia-hid-sdl",
|
"xenia-hid-sdl",
|
||||||
"xenia-kernel",
|
"xenia-kernel",
|
||||||
"xenia-ui",
|
"xenia-ui",
|
||||||
"xenia-ui-spirv",
|
|
||||||
"xenia-ui-vulkan",
|
"xenia-ui-vulkan",
|
||||||
"xenia-vfs",
|
"xenia-vfs",
|
||||||
"xxhash",
|
"xxhash",
|
||||||
|
|
|
@ -171,10 +171,11 @@ std::unique_ptr<apu::AudioSystem> CreateAudioSystem(cpu::Processor* processor) {
|
||||||
|
|
||||||
std::unique_ptr<gpu::GraphicsSystem> CreateGraphicsSystem() {
|
std::unique_ptr<gpu::GraphicsSystem> CreateGraphicsSystem() {
|
||||||
Factory<gpu::GraphicsSystem> factory;
|
Factory<gpu::GraphicsSystem> factory;
|
||||||
|
factory.Add<gpu::vulkan::VulkanGraphicsSystem>("vulkan");
|
||||||
|
// TODO(Triang3l): Move D3D12 back to the top.
|
||||||
#if XE_PLATFORM_WIN32
|
#if XE_PLATFORM_WIN32
|
||||||
factory.Add<gpu::d3d12::D3D12GraphicsSystem>("d3d12");
|
factory.Add<gpu::d3d12::D3D12GraphicsSystem>("d3d12");
|
||||||
#endif // XE_PLATFORM_WIN32
|
#endif // XE_PLATFORM_WIN32
|
||||||
factory.Add<gpu::vulkan::VulkanGraphicsSystem>("vulkan");
|
|
||||||
factory.Add<gpu::null::NullGraphicsSystem>("null");
|
factory.Add<gpu::null::NullGraphicsSystem>("null");
|
||||||
return factory.Create(cvars::gpu);
|
return factory.Create(cvars::gpu);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,9 +19,9 @@ namespace gpu {
|
||||||
namespace d3d12 {
|
namespace d3d12 {
|
||||||
|
|
||||||
// Generated with `xb buildhlsl`.
|
// Generated with `xb buildhlsl`.
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/fullscreen_vs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/fullscreen_vs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/stretch_gamma_ps.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/stretch_gamma_ps.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/stretch_ps.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/stretch_ps.h"
|
||||||
|
|
||||||
D3D12GraphicsSystem::D3D12GraphicsSystem() {}
|
D3D12GraphicsSystem::D3D12GraphicsSystem() {}
|
||||||
|
|
||||||
|
|
|
@ -57,16 +57,16 @@ namespace gpu {
|
||||||
namespace d3d12 {
|
namespace d3d12 {
|
||||||
|
|
||||||
// Generated with `xb buildhlsl`.
|
// Generated with `xb buildhlsl`.
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/adaptive_quad_hs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/adaptive_quad_hs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/adaptive_triangle_hs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/adaptive_triangle_hs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/continuous_quad_hs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_quad_hs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/continuous_triangle_hs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/continuous_triangle_hs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/discrete_quad_hs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_quad_hs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/discrete_triangle_hs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/discrete_triangle_hs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/primitive_point_list_gs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_point_list_gs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/primitive_quad_list_gs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_quad_list_gs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/primitive_rectangle_list_gs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/primitive_rectangle_list_gs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/tessellation_vs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/tessellation_vs.h"
|
||||||
|
|
||||||
PipelineCache::PipelineCache(D3D12CommandProcessor& command_processor,
|
PipelineCache::PipelineCache(D3D12CommandProcessor& command_processor,
|
||||||
const RegisterFile& register_file,
|
const RegisterFile& register_file,
|
||||||
|
|
|
@ -16,7 +16,7 @@ project("xenia-gpu-d3d12")
|
||||||
})
|
})
|
||||||
local_platform_files()
|
local_platform_files()
|
||||||
files({
|
files({
|
||||||
"shaders/bin/*.h",
|
"../shaders/bytecode/d3d12_5_1/*.h",
|
||||||
})
|
})
|
||||||
|
|
||||||
group("src")
|
group("src")
|
||||||
|
|
|
@ -38,37 +38,37 @@ namespace gpu {
|
||||||
namespace d3d12 {
|
namespace d3d12 {
|
||||||
|
|
||||||
// Generated with `xb buildhlsl`.
|
// Generated with `xb buildhlsl`.
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_load_color_32bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_load_color_32bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_load_color_64bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_load_color_64bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_load_color_7e3_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_load_color_7e3_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_load_depth_float_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_load_depth_float_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_load_depth_unorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_load_depth_unorm_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_store_color_32bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_store_color_32bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_store_color_64bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_store_color_64bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_store_color_7e3_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_store_color_7e3_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_store_depth_float_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_store_depth_float_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/edram_store_depth_unorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/edram_store_depth_unorm_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_clear_32bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_clear_32bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_clear_32bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_clear_32bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_clear_64bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_clear_64bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_clear_64bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_clear_64bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_clear_depth_24_32_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_clear_depth_24_32_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_fast_32bpp_1x2xmsaa_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_32bpp_1x2xmsaa_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_fast_32bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_32bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_fast_32bpp_4xmsaa_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_32bpp_4xmsaa_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_fast_64bpp_1x2xmsaa_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_fast_64bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_fast_64bpp_4xmsaa_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_128bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_128bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_128bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_16bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_16bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_16bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_16bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_32bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_32bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_32bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_32bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_64bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_64bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_64bpp_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_8bpp_2xres_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_8bpp_2xres_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/resolve_full_8bpp_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_full_8bpp_cs.h"
|
||||||
|
|
||||||
const RenderTargetCache::EdramLoadStoreModeInfo
|
const RenderTargetCache::EdramLoadStoreModeInfo
|
||||||
RenderTargetCache::edram_load_store_mode_info_[size_t(
|
RenderTargetCache::edram_load_store_mode_info_[size_t(
|
||||||
|
|
|
@ -54,44 +54,44 @@ namespace gpu {
|
||||||
namespace d3d12 {
|
namespace d3d12 {
|
||||||
|
|
||||||
// Generated with `xb buildhlsl`.
|
// Generated with `xb buildhlsl`.
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_128bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_128bpb_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_128bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_128bpb_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_16bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_16bpb_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_16bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_16bpb_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_32bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_32bpb_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_32bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_32bpb_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_64bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_64bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_8bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_8bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_ctx1_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_ctx1_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_float_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_float_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_unorm_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_depth_unorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxn_rg8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxn_rg8_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt1_rgba8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt1_rgba8_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3_rgba8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3_rgba8_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3a_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3a_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt3aas1111_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3aas1111_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5_rgba8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5_rgba8_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_dxt5a_r8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5a_r8_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r10g11b11_rgba16_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r10g11b11_rgba16_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r10g11b11_rgba16_snorm_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r10g11b11_rgba16_snorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r11g11b10_rgba16_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r11g11b10_rgba16_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r11g11b10_rgba16_snorm_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_snorm_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r11g11b10_rgba16_snorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_snorm_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r4g4b4a4_b4g4r4a4_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r4g4b4a4_b4g4r4a4_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r4g4b4a4_b4g4r4a4_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r4g4b4a4_b4g4r4a4_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r5g5b5a1_b5g5r5a1_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b5a1_b5g5r5a1_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r5g5b5a1_b5g5r5a1_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b5a1_b5g5r5a1_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r5g5b6_b5g6r5_swizzle_rbga_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b6_b5g6r5_swizzle_rbga_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r5g6b5_b5g6r5_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g6b5_b5g6r5_2x_cs.h"
|
||||||
#include "xenia/gpu/d3d12/shaders/dxbc/texture_load_r5g6b5_b5g6r5_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g6b5_b5g6r5_cs.h"
|
||||||
|
|
||||||
// For formats with less than 4 components, assuming the last component is
|
// For formats with less than 4 components, assuming the last component is
|
||||||
// replicated into the non-existent ones, similar to what is done for unused
|
// replicated into the non-existent ones, similar to what is done for unused
|
||||||
|
|
|
@ -14,7 +14,6 @@ project("xenia-gpu")
|
||||||
"spirv-tools",
|
"spirv-tools",
|
||||||
"xenia-base",
|
"xenia-base",
|
||||||
"xenia-ui",
|
"xenia-ui",
|
||||||
"xenia-ui-spirv",
|
|
||||||
"xxhash",
|
"xxhash",
|
||||||
})
|
})
|
||||||
defines({
|
defines({
|
||||||
|
@ -23,8 +22,6 @@ project("xenia-gpu")
|
||||||
project_root.."/third_party/spirv-tools/external/include",
|
project_root.."/third_party/spirv-tools/external/include",
|
||||||
})
|
})
|
||||||
local_platform_files()
|
local_platform_files()
|
||||||
-- local_platform_files("spirv")
|
|
||||||
-- local_platform_files("spirv/passes")
|
|
||||||
|
|
||||||
group("src")
|
group("src")
|
||||||
project("xenia-gpu-shader-compiler")
|
project("xenia-gpu-shader-compiler")
|
||||||
|
@ -38,7 +35,6 @@ project("xenia-gpu-shader-compiler")
|
||||||
"spirv-tools",
|
"spirv-tools",
|
||||||
"xenia-base",
|
"xenia-base",
|
||||||
"xenia-gpu",
|
"xenia-gpu",
|
||||||
"xenia-ui-spirv",
|
|
||||||
})
|
})
|
||||||
defines({
|
defines({
|
||||||
})
|
})
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
#include "xenia/base/string.h"
|
#include "xenia/base/string.h"
|
||||||
#include "xenia/gpu/dxbc_shader_translator.h"
|
#include "xenia/gpu/dxbc_shader_translator.h"
|
||||||
#include "xenia/gpu/shader_translator.h"
|
#include "xenia/gpu/shader_translator.h"
|
||||||
#include "xenia/gpu/spirv_shader_translator.h"
|
|
||||||
#include "xenia/ui/spirv/spirv_disassembler.h"
|
|
||||||
|
|
||||||
// For D3DDisassemble:
|
// For D3DDisassemble:
|
||||||
#if XE_PLATFORM_WIN32
|
#if XE_PLATFORM_WIN32
|
||||||
|
@ -33,8 +31,7 @@ DEFINE_string(shader_input_type, "",
|
||||||
"GPU");
|
"GPU");
|
||||||
DEFINE_path(shader_output, "", "Output shader file path.", "GPU");
|
DEFINE_path(shader_output, "", "Output shader file path.", "GPU");
|
||||||
DEFINE_string(shader_output_type, "ucode",
|
DEFINE_string(shader_output_type, "ucode",
|
||||||
"Translator to use: [ucode, spirv, spirvtext, dxbc, dxbctext].",
|
"Translator to use: [ucode, dxbc, dxbctext].", "GPU");
|
||||||
"GPU");
|
|
||||||
DEFINE_string(
|
DEFINE_string(
|
||||||
vertex_shader_output_type, "",
|
vertex_shader_output_type, "",
|
||||||
"Type of the host interface to produce the vertex or domain shader for: "
|
"Type of the host interface to produce the vertex or domain shader for: "
|
||||||
|
@ -105,10 +102,7 @@ int shader_compiler_main(const std::vector<std::string>& args) {
|
||||||
shader_type, ucode_data_hash, ucode_dwords.data(), ucode_dwords.size());
|
shader_type, ucode_data_hash, ucode_dwords.data(), ucode_dwords.size());
|
||||||
|
|
||||||
std::unique_ptr<ShaderTranslator> translator;
|
std::unique_ptr<ShaderTranslator> translator;
|
||||||
if (cvars::shader_output_type == "spirv" ||
|
if (cvars::shader_output_type == "dxbc" ||
|
||||||
cvars::shader_output_type == "spirvtext") {
|
|
||||||
translator = std::make_unique<SpirvShaderTranslator>();
|
|
||||||
} else if (cvars::shader_output_type == "dxbc" ||
|
|
||||||
cvars::shader_output_type == "dxbctext") {
|
cvars::shader_output_type == "dxbctext") {
|
||||||
translator = std::make_unique<DxbcShaderTranslator>(
|
translator = std::make_unique<DxbcShaderTranslator>(
|
||||||
0, cvars::shader_output_bindless_resources,
|
0, cvars::shader_output_bindless_resources,
|
||||||
|
@ -146,14 +140,6 @@ int shader_compiler_main(const std::vector<std::string>& args) {
|
||||||
const void* source_data = shader->translated_binary().data();
|
const void* source_data = shader->translated_binary().data();
|
||||||
size_t source_data_size = shader->translated_binary().size();
|
size_t source_data_size = shader->translated_binary().size();
|
||||||
|
|
||||||
std::unique_ptr<xe::ui::spirv::SpirvDisassembler::Result> spirv_disasm_result;
|
|
||||||
if (cvars::shader_output_type == "spirvtext") {
|
|
||||||
// Disassemble SPIRV.
|
|
||||||
spirv_disasm_result = xe::ui::spirv::SpirvDisassembler().Disassemble(
|
|
||||||
reinterpret_cast<const uint32_t*>(source_data), source_data_size / 4);
|
|
||||||
source_data = spirv_disasm_result->text();
|
|
||||||
source_data_size = std::strlen(spirv_disasm_result->text()) + 1;
|
|
||||||
}
|
|
||||||
#if XE_PLATFORM_WIN32
|
#if XE_PLATFORM_WIN32
|
||||||
ID3DBlob* dxbc_disasm_blob = nullptr;
|
ID3DBlob* dxbc_disasm_blob = nullptr;
|
||||||
if (cvars::shader_output_type == "dxbctext") {
|
if (cvars::shader_output_type == "dxbctext") {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue