- 13 May, 2020 1 commit
-
-
Axel Davy authored
For now this parameter doesn't do anything. It means the implementation is allowed to use a cache on disk. Signed-off-by:
Axel Davy <davyaxel0@gmail.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Part-of: <!4993>
-
- 01 May, 2020 2 commits
-
-
Tomeu Vizoso authored
For unknown1 reasons :) Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4832>
-
Tomeu Vizoso authored
for attributes and varyings. Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4832>
-
- 30 Apr, 2020 1 commit
-
-
Tomeu Vizoso authored
Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4724>
-
- 10 Apr, 2020 3 commits
-
-
Alyssa Rosenzweig authored
Again, not Midgard specific. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4505>
-
Alyssa Rosenzweig authored
This isn't ISA/compiler specific, it's just looking at the NIR. So let's move it from midgard to pan_assemble.c so it runs for Bifrost too. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4505>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4505>
-
- 31 Mar, 2020 2 commits
-
-
Alyssa Rosenzweig authored
Now that its Gallium dependencies have been resolved, we can move this all out to root. The only nontrivial change here is keeping the pandecode calls in Gallium-panfrost to avoid creating a circular dependency between encoder/decoder. This could be solved with a third drm folder but this seems less intrusive for now and Roman would probably appreciate if I went longer than 8 hours without breaking the Android build. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4382>
-
Alyssa Rosenzweig authored
We would like to access properties of the device in a Gallium-independent way (for out-of-Gallium testing in the short-term, and would help a theoretical Vulkan implementation in the long run). Let's split up the struct. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4382>
-
- 11 Mar, 2020 1 commit
-
-
Alyssa Rosenzweig authored
We'll want Bifrost to reuse the same linking mechanisms for the most part. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4150>
-
- 10 Mar, 2020 2 commits
-
-
Boris Brezillon authored
This way we avoid potential state leaks and keep the shader_meta initialization in once place. The time spent preparing the shader descriptors should be negligible compared to the time spent pushing those descriptors to the transient buffer (remember we are writing to non-cacheable memory here). Note that we might get back to some sort of shader_meta descriptor caching at some point if that proves necessary, but now we have those panfrost_frag_meta_xxx_update() helpers now where xxx maps directly to a CSO bind, which should ease desc template updates. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4083>
-
Boris Brezillon authored
panfrost_shader_state.tripipe is used as a template for shader_meta desc emission, but shader_meta desc preparation time should be negligible compared to desc emission time (remember we are writing to non-cacheable memory here). Let's prepare for generating the the shader_meta desc entirely at draw time by adding the necessary fields to panfrost_shader_state. Note that we might brink back some sort of shader_meta desc caching at some point, but let's simplify things a bit for now. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!4083>
-
- 21 Feb, 2020 1 commit
-
-
Alyssa Rosenzweig authored
Since PIPE formats are now shared across Mesa we can do this, and the routines themselves are good enough code that I'm happy to move them here. We'll use them momentarily. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!3858>
-
- 16 Feb, 2020 2 commits
-
-
Alyssa Rosenzweig authored
Fixes INSTR_INVALID_ENC in dEQP-GLES31.functional.compute.basic.empty Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!3835>
-
Alyssa Rosenzweig authored
Unlike other GPUs, Mali does not have dedicated shared memory for compute workloads. Instead, we allocate shared memory (backed to RAM), and the general memory access functions have modes to access shared memory (essentially, think of these modes as adding this allocates base + workgroupid * stride in harder). So let's allocate enough memory based on the shared_size parameter and supply it. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!3835>
-
- 14 Feb, 2020 1 commit
-
-
Icecream95 authored
This commit replaces panfrost_get_default_swizzle with an inlined implementation where the returned values can be determined at compile time. According to perf, this previously used about 2% CPU for Openarena. Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!3824>
-
- 05 Feb, 2020 2 commits
-
-
Boris Brezillon authored
In order to make Z/S writes from fragment shaders effective, we need to set the MALI_WRITES_{Z,S} flags when the shader has a FRAG_RESULT_{DEPTH,STENCIL} output variable. Now that shaders can change the S value, we can expose the STENCIL_EXPORT cap. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!3697>
-
Boris Brezillon authored
We discovered 2 new shader flags used when a fragment shader updates the depth/stencil value through a ZS writeout. If those flags are not set, the depth/stencil value stored in the depth/stencil tilebuffer remain unchanged. While at it, rename unknown2 into flags_hi and rename flags into flags_lo. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!3697>
-
- 30 Dec, 2019 1 commit
-
-
Alyssa Rosenzweig authored
We need to actually work out the varying format on demand, rather than assuming rgba32f. Fixes dEQP-GLES3.functional.fragment_out.basic.int.* Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 25 Dec, 2019 1 commit
-
-
Alyssa Rosenzweig authored
They stretch beyond the usual limit for attributes so are included implicitly. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 17 Dec, 2019 2 commits
-
-
Alyssa Rosenzweig authored
I didn't realize this was in spec, but it fixes a crash in shaderdb. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Part-of: <!3125>
-
Alyssa Rosenzweig authored
This cuts down the number of random environmental variables we need flying around; now PAN_MESA_DEBUG=precompile is sufficient and MIDGARD_MESA_DEBUG=shaderdb will be implied. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Part-of: <!3125>
-
- 16 Dec, 2019 1 commit
-
-
Alyssa Rosenzweig authored
We have to key the blend shader for the render target number due to writeout silliness. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Tomeu Visoso <tomeu.vizoso@collabora.com>
-
- 13 Dec, 2019 1 commit
-
-
Alyssa Rosenzweig authored
We'll need it in pan_context.c Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 13 Nov, 2019 1 commit
-
-
Alyssa Rosenzweig authored
It's now unused, in favour of LCRA. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 07 Nov, 2019 1 commit
-
-
Tomeu Vizoso authored
Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com>
-
- 17 Oct, 2019 2 commits
-
-
Erik Faye-Lund authored
This triggers lowering in the state-tracker, which makes things a bit simpler. Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
Erik Faye-Lund authored
Reviewed-by:
Marek Olšák <marek.olsak@amd.com>
-
- 18 Sep, 2019 3 commits
-
-
Boris Brezillon authored
Right now, the BO API is spread over pan_{allocate,resource,screen}.h. Let's move all BO related definitions to a separate header file. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Boris Brezillon authored
Change the prefix for BO allocation flags to make it consistent with the rest of the BO API. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Boris Brezillon authored
pan_drm.c was only meaningful when we were supporting 2 kernel drivers (mali_kbase, and the drm one). Now that there's now kernel-driver abstraction we're better off moving those functions were they belong: * BO related functions in pan_bo.c * fence related functions + query_gpu_version() in pan_screen.c * submit related functions in pan_job.c While at it, we rename the functions according to the place they're being moved to. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 22 Aug, 2019 1 commit
-
-
Alyssa Rosenzweig authored
Rather than passing through the transformed gl_Position, we can use the hardware-level varying for this, which will correctly handle gl_FragCoord.w Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 13 Aug, 2019 1 commit
-
-
Alyssa Rosenzweig authored
It's there in shader_info, but we need to access it from pan_context.c Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com>
-
- 09 Aug, 2019 1 commit
-
-
Alyssa Rosenzweig authored
Rather than hardcoding certain varying buffer indices "by convention", work it out at draw time. This added flexibility is needed for futureproofing and will be enable streamout. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 08 Aug, 2019 1 commit
-
-
Tomeu Vizoso authored
Instead of all shaders being stored in a single BO, have each shader in its own. This removes the need for a 16MB allocation per context, and allows us to place transient blend shaders in BOs marked as executable (before they were allocated in the transient pool, which shouldn't be executable). v2: - Store compiled blend shaders in a malloc'ed buffer, to avoid reading from GPU-accessible memory when patching (Alyssa). - Free struct panfrost_blend_shader (Alyssa). - Give the job a reference to regular shaders when emitting (Alyssa). v3: - Split out the allocation flags change (Rob). Signed-off-by:
Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
- 01 Aug, 2019 5 commits
-
-
Alyssa Rosenzweig authored
A relic from when we didn't have an online compiler, hah. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Alyssa Rosenzweig authored
No need to add a third set of enums to the mix. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Alyssa Rosenzweig authored
We want this routine to be generic across graphics and compute, so let the caller deal with the typing. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Alyssa Rosenzweig authored
Interestingly, this requires no compiler changes. It's just exposed as a special varying. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-