mirror of
https://github.com/pineappleEA/pineapple-src.git
synced 2025-01-31 18:54:03 -05:00
early-access version 2441
This commit is contained in:
parent
7c0388f518
commit
68416cd9a2
@ -1,7 +1,7 @@
|
|||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 2440.
|
This is the source code for early-access 2441.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
@ -387,6 +387,14 @@ void SetupSignedNanCapabilities(const Profile& profile, const IR::Program& progr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetupTransformFeedbackCapabilities(EmitContext& ctx, Id main_func) {
|
||||||
|
if (ctx.runtime_info.xfb_varyings.empty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ctx.AddCapability(spv::Capability::TransformFeedback);
|
||||||
|
ctx.AddExecutionMode(main_func, spv::ExecutionMode::Xfb);
|
||||||
|
}
|
||||||
|
|
||||||
void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ctx) {
|
void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ctx) {
|
||||||
if (info.uses_sampled_1d) {
|
if (info.uses_sampled_1d) {
|
||||||
ctx.AddCapability(spv::Capability::Sampled1D);
|
ctx.AddCapability(spv::Capability::Sampled1D);
|
||||||
@ -442,9 +450,6 @@ void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ct
|
|||||||
if (info.uses_sample_id) {
|
if (info.uses_sample_id) {
|
||||||
ctx.AddCapability(spv::Capability::SampleRateShading);
|
ctx.AddCapability(spv::Capability::SampleRateShading);
|
||||||
}
|
}
|
||||||
if (!ctx.runtime_info.xfb_varyings.empty()) {
|
|
||||||
ctx.AddCapability(spv::Capability::TransformFeedback);
|
|
||||||
}
|
|
||||||
if (info.uses_derivatives) {
|
if (info.uses_derivatives) {
|
||||||
ctx.AddCapability(spv::Capability::DerivativeControl);
|
ctx.AddCapability(spv::Capability::DerivativeControl);
|
||||||
}
|
}
|
||||||
@ -484,6 +489,7 @@ std::vector<u32> EmitSPIRV(const Profile& profile, const RuntimeInfo& runtime_in
|
|||||||
SetupSignedNanCapabilities(profile, program, ctx, main);
|
SetupSignedNanCapabilities(profile, program, ctx, main);
|
||||||
}
|
}
|
||||||
SetupCapabilities(profile, program.info, ctx);
|
SetupCapabilities(profile, program.info, ctx);
|
||||||
|
SetupTransformFeedbackCapabilities(ctx, main);
|
||||||
PatchPhiNodes(program, ctx);
|
PatchPhiNodes(program, ctx);
|
||||||
return ctx.Assemble();
|
return ctx.Assemble();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user