Ryujinx/Ryujinx.Graphics.GAL/Multithreading/Commands
gdkchan f1d1670b0b
Implement HLE macro for DrawElementsIndirect (#3748)
* Implement HLE macro for DrawElementsIndirect

* Shader cache version bump

* Use GL_ARB_shader_draw_parameters extension on OpenGL

* Fix DrawIndexedIndirectCount on Vulkan when extension is not supported

* Implement DrawIndex

* Alignment

* Fix some validation errors

* Rename BaseIds to DrawParameters

* Fix incorrect index buffer and vertex buffer size in some cases

* Add HLE macros for DrawArraysInstanced and DrawElementsInstanced

* Perform a regular draw when indirect data is not modified

* Use non-indirect draw methods if indirect buffer was not GPU modified

* Only check if draw parameters match if the shader actually uses them

* Expose Macro HLE setting on GUI

* Reset FirstVertex and FirstInstance after draw

* Update shader cache version again since some people already tested this

* PR feedback

Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2022-11-16 14:53:04 -03:00
..
Buffer
CounterEvent
Program
Renderer
Sampler
Texture
Window
BarrierCommand.cs
BeginTransformFeedbackCommand.cs
ClearBufferCommand.cs
ClearRenderTargetColorCommand.cs
ClearRenderTargetDepthStencilCommand.cs
CommandBufferBarrierCommand.cs
CopyBufferCommand.cs
DispatchComputeCommand.cs
DrawCommand.cs
DrawIndexedCommand.cs
DrawIndexedIndirectCommand.cs
DrawIndexedIndirectCountCommand.cs
DrawIndirectCommand.cs
DrawIndirectCountCommand.cs
DrawTextureCommand.cs
EndHostConditionalRenderingCommand.cs
EndTransformFeedbackCommand.cs
IGALCommand.cs
SetAlphaTestCommand.cs
SetBlendStateCommand.cs
SetDepthBiasCommand.cs
SetDepthClampCommand.cs
SetDepthModeCommand.cs
SetDepthTestCommand.cs
SetFaceCullingCommand.cs
SetFrontFaceCommand.cs
SetImageCommand.cs
SetIndexBufferCommand.cs
SetLineParametersCommand.cs
SetLogicOpStateCommand.cs
SetMultisampleStateCommand.cs
SetPatchParametersCommand.cs
SetPointParametersCommand.cs
SetPolygonModeCommand.cs
SetPrimitiveRestartCommand.cs
SetPrimitiveTopologyCommand.cs
SetProgramCommand.cs
SetRasterizerDiscardCommand.cs
SetRenderTargetColorMasksCommand.cs
SetRenderTargetScaleCommand.cs
SetRenderTargetsCommand.cs
SetScissorsCommand.cs
SetStencilTestCommand.cs
SetStorageBuffersCommand.cs
SetTextureAndSamplerCommand.cs
SetTransformFeedbackBuffersCommand.cs
SetUniformBuffersCommand.cs
SetUserClipDistanceCommand.cs
SetVertexAttribsCommand.cs
SetVertexBuffersCommand.cs
SetViewportsCommand.cs
TextureBarrierCommand.cs
TextureBarrierTiledCommand.cs
TryHostConditionalRenderingCommand.cs
TryHostConditionalRenderingFlushCommand.cs
UpdateRenderScaleCommand.cs