early-access version 2007

This commit is contained in:
pineappleEA 2021-08-21 22:39:45 +02:00
parent 26b17a7d5c
commit ea5c54a1d3
7 changed files with 15 additions and 6 deletions

View file

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 2006. This is the source code for early-access 2007.
## Legal Notice ## Legal Notice

View file

@ -495,7 +495,7 @@ struct Values {
std::chrono::seconds custom_rtc_differential; std::chrono::seconds custom_rtc_differential;
BasicSetting<s32> current_user{0, "current_user"}; BasicSetting<s32> current_user{0, "current_user"};
RangedSetting<s32> language_index{1, 0, 16, "language_index"}; RangedSetting<s32> language_index{1, 0, 17, "language_index"};
RangedSetting<s32> region_index{1, 0, 6, "region_index"}; RangedSetting<s32> region_index{1, 0, 6, "region_index"};
RangedSetting<s32> time_zone_index{0, 0, 45, "time_zone_index"}; RangedSetting<s32> time_zone_index{0, 0, 45, "time_zone_index"};
RangedSetting<s32> sound_index{1, 0, 2, "sound_index"}; RangedSetting<s32> sound_index{1, 0, 2, "sound_index"};

View file

@ -178,11 +178,13 @@ IR::Program TranslateProgram(ObjectPool<IR::Inst>& inst_pool, ObjectPool<IR::Blo
Optimization::ConstantPropagationPass(program); Optimization::ConstantPropagationPass(program);
Optimization::DeadCodeEliminationPass(program); Optimization::DeadCodeEliminationPass(program);
Optimization::GetAttributeReorderPass(program); Optimization::CollectShaderInfoPass(env, program);
if (program.info.uses_demote_to_helper_invocation) {
Optimization::GetAttributeReorderPass(program);
}
if (Settings::values.renderer_debug) { if (Settings::values.renderer_debug) {
Optimization::VerificationPass(program); Optimization::VerificationPass(program);
} }
Optimization::CollectShaderInfoPass(env, program);
CollectInterpolationInfo(env, program); CollectInterpolationInfo(env, program);
AddNVNStorageBuffers(program); AddNVNStorageBuffers(program);
return program; return program;

View file

@ -11,8 +11,9 @@ namespace Shader {
/// Misc information about the host /// Misc information about the host
struct HostTranslateInfo { struct HostTranslateInfo {
bool support_float16{}; ///< True when the device supports 16-bit floats bool support_float16{}; ///< True when the device supports 16-bit floats
bool support_int64{}; ///< True when the device supports 64-bit integers bool support_int64{}; ///< True when the device supports 64-bit integers
bool needs_get_attribute_reorder{}; ///< True when the device needs GetAttribute reordered
}; };
} // namespace Shader } // namespace Shader

View file

@ -156,6 +156,10 @@ public:
return shader_backend; return shader_backend;
} }
bool IsAmd() const {
return vendor_name == "ATI Technologies Inc.";
}
private: private:
static bool TestVariableAoffi(); static bool TestVariableAoffi();
static bool TestPreciseBug(); static bool TestPreciseBug();

View file

@ -219,6 +219,7 @@ ShaderCache::ShaderCache(RasterizerOpenGL& rasterizer_, Core::Frontend::EmuWindo
host_info{ host_info{
.support_float16 = false, .support_float16 = false,
.support_int64 = device.HasShaderInt64(), .support_int64 = device.HasShaderInt64(),
.needs_get_attribute_reorder = device.IsAmd(),
} { } {
if (use_asynchronous_shaders) { if (use_asynchronous_shaders) {
workers = CreateWorkers(); workers = CreateWorkers();

View file

@ -325,6 +325,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::Engines::Maxw
host_info = Shader::HostTranslateInfo{ host_info = Shader::HostTranslateInfo{
.support_float16 = device.IsFloat16Supported(), .support_float16 = device.IsFloat16Supported(),
.support_int64 = device.IsShaderInt64Supported(), .support_int64 = device.IsShaderInt64Supported(),
.needs_get_attribute_reorder = driver_id == VK_DRIVER_ID_AMD_PROPRIETARY_KHR,
}; };
} }