Browse Source

fixes 2

pull/3306/head
lizzie 3 weeks ago
committed by crueter
parent
commit
0914d8f819
  1. 46
      src/video_core/macro.cpp
  2. 2
      src/video_core/macro.h

46
src/video_core/macro.cpp

@ -526,37 +526,23 @@ HLEMacro::HLEMacro(Maxwell3D& maxwell3d_) : maxwell3d{maxwell3d_} {}
HLEMacro::~HLEMacro() = default;
std::unique_ptr<CachedMacro> HLEMacro::GetHLEProgram(u64 hash) const {
// Compiler will make you a GREAT job at making an ad-hoc hash table :)
switch (hash) {
case 0x0D61FC9FAAC9FCADULL:
return std::make_unique<HLE_DrawArraysIndirect<false>>(maxwell3d);
case 0x8A4D173EB99A8603ULL:
return std::make_unique<HLE_DrawArraysIndirect<true>>(maxwell3d);
case 0x771BB18C62444DA0ULL:
return std::make_unique<HLE_DrawIndexedIndirect<false>>(maxwell3d);
case 0x0217920100488FF7ULL:
return std::make_unique<HLE_DrawIndexedIndirect<true>>(maxwell3d);
case 0x3F5E74B9C9A50164ULL:
return std::make_unique<HLE_MultiDrawIndexedIndirectCount>(maxwell3d);
case 0xEAD26C3E2109B06BULL:
return std::make_unique<HLE_MultiLayerClear>(maxwell3d);
case 0xC713C83D8F63CCF3ULL:
return std::make_unique<HLE_C713C83D8F63CCF3>(maxwell3d);
case 0xD7333D26E0A93EDEULL:
return std::make_unique<HLE_D7333D26E0A93EDE>(maxwell3d);
case 0xEB29B2A09AA06D38ULL:
return std::make_unique<HLE_BindShader>(maxwell3d);
case 0xDB1341DBEB4C8AF7ULL:
return std::make_unique<HLE_SetRasterBoundingBox>(maxwell3d);
case 0x6C97861D891EDf7EULL:
return std::make_unique<HLE_ClearConstBuffer<0x5F00>>(maxwell3d);
case 0xD246FDDF3A6173D7ULL:
return std::make_unique<HLE_ClearConstBuffer<0x7000>>(maxwell3d);
case 0xEE4D0004BEC8ECF4ULL:
return std::make_unique<HLE_ClearMemory>(maxwell3d);
case 0xFC0CF27F5FFAA661ULL:
return std::make_unique<HLE_TransformFeedbackSetup>(maxwell3d);
case 0xB5F74EDB717278ECULL:
return std::make_unique<HLE_DrawIndirectByteCount>(maxwell3d);
case 0x0D61FC9FAAC9FCADULL: return std::make_unique<HLE_DrawArraysIndirect<false>>(maxwell3d);
case 0x8A4D173EB99A8603ULL: return std::make_unique<HLE_DrawArraysIndirect<true>>(maxwell3d);
case 0x771BB18C62444DA0ULL: return std::make_unique<HLE_DrawIndexedIndirect<false>>(maxwell3d);
case 0x0217920100488FF7ULL: return std::make_unique<HLE_DrawIndexedIndirect<true>>(maxwell3d);
case 0x3F5E74B9C9A50164ULL: return std::make_unique<HLE_MultiDrawIndexedIndirectCount>(maxwell3d);
case 0xEAD26C3E2109B06BULL: return std::make_unique<HLE_MultiLayerClear>(maxwell3d);
case 0xC713C83D8F63CCF3ULL: return std::make_unique<HLE_C713C83D8F63CCF3>(maxwell3d);
case 0xD7333D26E0A93EDEULL: return std::make_unique<HLE_D7333D26E0A93EDE>(maxwell3d);
case 0xEB29B2A09AA06D38ULL: return std::make_unique<HLE_BindShader>(maxwell3d);
case 0xDB1341DBEB4C8AF7ULL: return std::make_unique<HLE_SetRasterBoundingBox>(maxwell3d);
case 0x6C97861D891EDf7EULL: return std::make_unique<HLE_ClearConstBuffer<0x5F00>>(maxwell3d);
case 0xD246FDDF3A6173D7ULL: return std::make_unique<HLE_ClearConstBuffer<0x7000>>(maxwell3d);
case 0xEE4D0004BEC8ECF4ULL: return std::make_unique<HLE_ClearMemory>(maxwell3d);
case 0xFC0CF27F5FFAA661ULL: return std::make_unique<HLE_TransformFeedbackSetup>(maxwell3d);
case 0xB5F74EDB717278ECULL: return std::make_unique<HLE_DrawIndirectByteCount>(maxwell3d);
default:
return nullptr;
}

2
src/video_core/macro.h

@ -100,7 +100,7 @@ public:
CachedMacro(Engines::Maxwell3D& maxwell3d)
: maxwell3d{maxwell3d}
{}
virtual ~CachedMacro() = 0;
virtual ~CachedMacro() = default;
/// Executes the macro code with the specified input parameters.
/// @param parameters The parameters of the macro
/// @param method The method to execute

Loading…
Cancel
Save