aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2020-02-19Merge pull request #3411 from ReinUsesLisp/specific-funcsbunnei
gl_rasterizer: Use the least generic OpenGL draw function possible
2020-02-19shader_decompiler: add check in case of device not support ↵Nguyen Dac Nam
ShaderStorageImageReadWithoutFormat
2020-02-19vk_device: setup shaderStorageImageReadWithoutFormatNguyen Dac Nam
2020-02-19vk_device: add check for shaderStorageImageReadWithoutFormatNguyen Dac Nam
2020-02-19shader_conversion: I2F : add Assert for case src_size is ShortNguyen Dac Nam
2020-02-19fix warningNguyen Dac Nam
2020-02-19clang-format fixNguyen Dac Nam
2020-02-19shader_conversion: add conversion I2F for ShortNguyen Dac Nam
2020-02-18Merge pull request #3410 from ReinUsesLisp/vk-draw-indexbunnei
vk_shader_decompiler: Fix vertex id and instance id
2020-02-19vk_shader: add Capability StorageImageReadWithoutFormatNguyen Dac Nam
2020-02-19vk_shader: Implement function ImageLoad (Used by Kirby Start Allies)Nguyen Dac Nam
Please enter the commit message for your changes. Lines starting
2020-02-19fixups mistake auto commit.Nguyen Dac Nam
2020-02-19Update code structureNguyen Dac Nam
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2020-02-18Merge pull request #3409 from ReinUsesLisp/host-queriesFernando Sahmkow
query_cache: Implement a query cache and query 21 (samples passed)
2020-02-18add vertex UnsignedInt size RGBANguyen Dac Nam
2020-02-18add eBc2SrgbBlock to formatsNguyen Dac Nam
2020-02-18vulkan: add DXT23_SRGBNguyen Dac Nam
2020-02-18renderer_vulkan: Add the rest of case for TryConvertBorderColorNguyen Dac Nam
2020-02-16texture_cache: Implement layered framebuffer attachmentsReinUsesLisp
Layered framebuffer attachments is a feature that allows applications to write attach layered textures to a single attachment. What layer the fragments are written to is decided from the shader using gl_Layer.
2020-02-16vk_shader_decompiler: Implement Layer output attributeReinUsesLisp
SPIR-V's Layer is GLSL's gl_Layer. It lets the application choose from a shader stage (vertex, tessellation or geometry) which framebuffer layer write the output fragments to.
2020-02-16texture_cache: Avoid matches in 3D texturesReinUsesLisp
Code before this commit was trying to match 3D textures with another target. Fix that.
2020-02-16surface_base: Implement texture buffer flushesReinUsesLisp
Implement downloads to guest memory from texture buffers on the generic cache and OpenGL.
2020-02-15Revert "video_core: memory_manager: Use GPU interface for cache functions."bunnei
2020-02-15texture: Implement R32IReinUsesLisp
2020-02-15shader/texture: Allow 2D shadow arrays and simplify codeReinUsesLisp
Shadow sampler 2D arrays are supported on OpenGL, so there's no reason to forbid these. Enable textureLod usage on these. Minor style changes.
2020-02-14maxwell_3d: Unify draw methodsReinUsesLisp
Pass instanced state of a draw invocation as an argument instead of having two separate virtual methods.
2020-02-14query_cache: Address feedbackReinUsesLisp
2020-02-14query_cache: Fix ambiguity in CacheAddr getterReinUsesLisp
2020-02-14query_cache: Add a recursive mutex for concurrent usageReinUsesLisp
2020-02-14vk_query_cache: Implement generic query cache on VulkanReinUsesLisp
2020-02-14query_cache: Abstract OpenGL implementationReinUsesLisp
Abstract the current OpenGL implementation into the VideoCommon namespace and reimplement it on top of that. Doing this avoids repeating code and logic in the Vulkan implementation.
2020-02-14gl_query_cache: Optimize query cacheReinUsesLisp
Use a custom cache instead of relying on a ranged cache.
2020-02-14gl_query_cache: Implement host queries using a deferred cacheReinUsesLisp
Instead of waiting immediately for executed commands, defer the query until the guest CPU reads it. This way we get closer to what the guest program is doing. To archive this we have to build a dependency queue, because host APIs (like OpenGL and Vulkan) use ranged queries instead of counters like NVN. Waiting for queries implicitly uses fences and this requires a command being queued, otherwise the driver will lock waiting until a timeout. To fix this when there are no commands queued, we explicitly call glFlush.
2020-02-14gl_rasterizer: Sort method declarationsReinUsesLisp
2020-02-14gl_rasterizer: Add queued commands counterReinUsesLisp
Keep track of the queued OpenGL commands that can signal a fence if waited on. As a side effect, we avoid calls to glFlush when no commands are queued.
2020-02-14maxwell_3d: Slow implementation of passed samples (query 21)ReinUsesLisp
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
2020-02-14Merge pull request #3379 from ReinUsesLisp/cbuf-offsetbunnei
shader/decode: Fix constant buffer offsets
2020-02-13gl_resource_manager: Add managed query classReinUsesLisp
2020-02-13Merge pull request #3395 from FernandoS27/queriesbunnei
GPU: Refactor queries implementation and correct GPU Clock.
2020-02-13gl_rasterizer: Use the least generic OpenGL draw function possibleReinUsesLisp
This may help some implementations.
2020-02-13vk_shader_decompiler: Fix vertex id and instance idReinUsesLisp
Vulkan's VertexIndex and InstanceIndex don't match with hardware. This is because Nvidia implements gl_VertexID and gl_InstanceID. The math that relates these is: gl_VertexIndex = gl_BaseVertex + gl_VertexID gl_InstanceIndex = gl_InstanceIndex + gl_InstanceID To emulate it using what Vulkan's SPIR-V offers (the *Index variants) this commit substracts gl_Base* from gl_*Index to obtain the OpenGL and hardware's equivalent.
2020-02-13GPU: Address Feedback.Fernando Sahmkow
2020-02-11Merge pull request #3376 from ReinUsesLisp/point-spritebunnei
gl_rasterizer: Implement GL_POINT_SPRITE
2020-02-10GPU: Implement GPU Clock correctly.Fernando Sahmkow
2020-02-10Maxwell3D: Correct query reporting.Fernando Sahmkow
2020-02-09Merge pull request #3372 from ReinUsesLisp/fix-back-stencilbunnei
maxwell_3d: Fix stencil back mask
2020-02-08Merge pull request #3387 from bunnei/gpu-mpscqueuebunnei
gpu_thread: Use MPSCQueue for GPU commands.
2020-02-07gpu_thread: Use MPSCQueue for GPU commands.bunnei
- Necessary for multiple service threads.
2020-02-07video_core: memory_manager: Use GPU interface for cache functions.bunnei
2020-02-07Merge pull request #3378 from ReinUsesLisp/uscaledbunnei
maxwell_to_gl: Implement R8G8_USCALED