- Dec 25, 2019
-
-
ReinUsesLisp authored
The job of this abstraction is to provide staging buffers for temporary operations. Think of image uploads or buffer uploads to device memory. It automatically deletes unused buffers.
-
- Dec 23, 2019
-
-
ReinUsesLisp authored
The intention behind this hasheable structure is to describe the state of fixed function pipeline state that gets compiled to a single graphics pipeline state object. This is all dynamic state in OpenGL but Vulkan wants it in an immutable state, even if hardware can edit it freely. In this commit the structure is defined in an optimized state (it uses booleans, has paddings and many data entries that can be packed to single integers). This is intentional as an initial implementation that is easier to debug, implement and review. It will be optimized in later stages, or it might change if Vulkan gets more dynamic states.
-
- Nov 23, 2019
-
-
ReinUsesLisp authored
-
- Nov 14, 2019
-
-
ReinUsesLisp authored
Use a large flat array to look up texture formats. This allows us to properly implement formats with different component types. It should also be faster.
-
- Nov 11, 2019
-
-
Rodrigo Locatti authored
Enable sign conversion warnings but don't treat them as errors.
-
- Nov 08, 2019
-
-
ReinUsesLisp authored
-
- Oct 27, 2019
-
-
ReinUsesLisp authored
Add an intermediary class that implements common functions across GPU accelerated rasterizers. This avoids code repetition on different backends.
-
- Oct 25, 2019
-
-
Fernando Sahmkow authored
VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.
-
- Oct 04, 2019
-
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
- Aug 21, 2019
-
-
ReinUsesLisp authored
Implement VOTE using Nvidia's intrinsics. Documentation about these can be found here https://developer.nvidia.com/reading-between-threads-shader-intrinsics Instead of using portable ARB instructions I opted to use Nvidia intrinsics because these are the closest we have to how Tegra X1 hardware renders. To stub VOTE on non-Nvidia drivers (including nouveau) this commit simulates a GPU with a warp size of one, returning what is meaningful for the instruction being emulated: * anyThreadNV(value) -> value * allThreadsNV(value) -> value * allThreadsEqualNV(value) -> true ballotARB, also known as "uint64_t(activeThreadsNV())", emits VOTE.ANY Rd, PT, PT; on nouveau's compiler. This doesn't match exactly to Nvidia's code VOTE.ALL Rd, PT, PT; Which is emulated with activeThreadsNV() by this commit. In theory this shouldn't really matter since .ANY, .ALL and .EQ affect the predicates (set to PT on those cases) and not the registers.
-
Fernando Sahmkow authored
-
- Jul 09, 2019
-
-
Fernando Sahmkow authored
-
- Jul 06, 2019
-
-
ReinUsesLisp authored
Implements a templated class with a similar approach to our current generic texture cache. It is designed to be compatible with Vulkan and OpenGL,
-
ReinUsesLisp authored
-
- Jun 21, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Jun 07, 2019
-
-
ReinUsesLisp authored
-
- Jun 06, 2019
-
-
ReinUsesLisp authored
Analysis passes do not have a good reason to depend on shader_ir.h to work on top of nodes. This splits node-related declarations to their own file and leaves the IR in shader_ir.h
-
- Jun 05, 2019
-
-
ReinUsesLisp authored
Instead of having a vector of unique_ptr stored in a vector and returning star pointers to this, use shared_ptr. While changing initialization code, move it to a separate file when possible. This is a first step to allow code analysis and node generation beyond the ShaderIR class.
-
- May 30, 2019
-
-
ReinUsesLisp authored
-
- Apr 22, 2019
-
-
Fernando Sahmkow authored
-
- Apr 10, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
sirit is a runtime assembler for SPIR-V
-
- Apr 08, 2019
-
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
- Apr 02, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Mar 29, 2019
-
-
unknown authored
data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compression
-
ReinUsesLisp authored
-
- Mar 22, 2019
-
-
ReinUsesLisp authored
Implements an API agnostic texture view based texture cache. Classes defined here are intended to be inherited by the API implementation and used in API-specific code. This implementation exposes protected virtual functions to be called from the implementer. Before executing any surface copies methods (defined in API-specific code) it tries to detect if the overlapping surface is a superset and if it is, it creates a view. Views are references of a subset of a surface, it can be a superset view (the same as referencing the whole texture). Current code manages 1D, 1D array, 2D, 2D array, cube maps and cube map arrays with layer and mipmap level views. Texture 3D slices views are not implemented. If the view attempt fails, the fast path is invoked with the overlapping textures (defined in the implementer). If that one fails (returning nullptr) it will flush and reload the texture.
-
- Mar 12, 2019
-
-
ReinUsesLisp authored
-
- Mar 07, 2019
- Mar 04, 2019
-
-
ReinUsesLisp authored
-