mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-10 05:38:49 +00:00
shader_recompiler: Better handling of geometry shader scenario G (#3064)
This commit is contained in:
@@ -1179,8 +1179,16 @@ struct Liverpool {
|
||||
};
|
||||
|
||||
union GsMode {
|
||||
enum class Mode : u32 {
|
||||
Off = 0,
|
||||
ScenarioA = 1,
|
||||
ScenarioB = 2,
|
||||
ScenarioG = 3,
|
||||
ScenarioC = 4,
|
||||
};
|
||||
|
||||
u32 raw;
|
||||
BitField<0, 3, u32> mode;
|
||||
BitField<0, 3, Mode> mode;
|
||||
BitField<3, 2, u32> cut_mode;
|
||||
BitField<22, 2, u32> onchip;
|
||||
};
|
||||
|
||||
@@ -146,6 +146,7 @@ const Shader::RuntimeInfo& PipelineCache::BuildRuntimeInfo(Stage stage, LogicalS
|
||||
}
|
||||
gs_info.in_vertex_data_size = regs.vgt_esgs_ring_itemsize;
|
||||
gs_info.out_vertex_data_size = regs.vgt_gs_vert_itemsize[0];
|
||||
gs_info.mode = regs.vgt_gs_mode.mode;
|
||||
const auto params_vc = Liverpool::GetParams(regs.vs_program);
|
||||
gs_info.vs_copy = params_vc.code;
|
||||
gs_info.vs_copy_hash = params_vc.hash;
|
||||
|
||||
Reference in New Issue
Block a user