https://bugs.freedesktop.org/show_bug.cgi?id=96770
Vinson Lee changed:
What|Removed |Added
Version|git |12.0
--
You are receiving this mail becaus
https://bugs.freedesktop.org/show_bug.cgi?id=98012
Bug ID: 98012
Summary: [anv] Segfault when running Dolphin twice on Ivy
Bridge
Product: Mesa
Version: git
Hardware: x86-64 (AMD64)
OS: Linux (All)
This reverts commit fc03ecfeaf5a10a8b84d366f24f02e74ab03b145.
Chad had already pushed the same change between me posting the patch and Jason
pushing it: 44bcf1ffcced04fd7f2b (".gitignore: Ignore src/compiler/spirv2nir")
CC: Chad Versace
CC: Jason Ekstrand
Signed-off-by: Eric Engestrom
---
Jas
This series is,
Reviewed-by: Edward O'Callaghan
On 10/02/2016 03:51 AM, Serge Martin wrote:
> Updated serie, please review.
>
> Serge Martin (2):
> clover: add CL_PROGRAM_BINARY_TYPE support (CL1.2)
> clover: add missing clGetDeviceInfo CL1.2 queries
>
> src/gallium/state_trackers/clover/a
On 10/02/2016 06:46 AM, Marek Olšák wrote:
> Hi,
>
> I propose that we use versioning in the form of "year.quarter".
>
> 2017 would start with 17.0, then 17.1, 17.2, 17.3 for following
> quarters of the year, respectively.
> 2018 would start with 18.0, then 18.1, 18.2, 18.3.
>
> The motivation
I ended up having to use `env LLVM_CONFIG=llvm-config-3.9` in order to
get it to compile. After installing it, I think it loaded up properly.
I couldn't get Vulkan examples (
https://github.com/SaschaWillems/Vulkan ) to work, though; it was
saying "Unsupported driver". So I played around the fi
On 01.10.2016 22:22, Tobias Klausmann wrote:
On 01.10.2016 21:46, Marek Olšák wrote:
Hi,
I propose that we use versioning in the form of "year.quarter".
2017 would start with 17.0, then 17.1, 17.2, 17.3 for following
quarters of the year, respectively.
2018 would start with 18.0, then 18.1, 18
I've seen many get confused by the fact that Ubuntu 16.10 is newer than
16.04, they think of it as 16.1 and 16.4. So avoiding that is nice.
Regards
//Ernst
2016-10-02 13:56 GMT+02:00 Nicolai Hähnle :
> On 01.10.2016 22:22, Tobias Klausmann wrote:
>
>> On 01.10.2016 21:46, Marek Olšák wrote:
>>
>
You also need this:
diff --git a/src/mesa/state_tracker/st_vdpau.c
b/src/mesa/state_tracker/st_vdpau.c
index 4f599dd..cafbd3d 100644
--- a/src/mesa/state_tracker/st_vdpau.c
+++ b/src/mesa/state_tracker/st_vdpau.c
@@ -44,6 +44,7 @@
#include "st_vdpau.h"
#include "st_context.h"
#include "st_textu
On Sun, Oct 2, 2016 at 5:04 AM, Kenneth Graunke wrote:
> On Saturday, October 1, 2016 9:46:45 PM PDT Marek Olšák wrote:
>> Hi,
>>
>> I propose that we use versioning in the form of "year.quarter".
>>
>> 2017 would start with 17.0, then 17.1, 17.2, 17.3 for following
>> quarters of the year, respec
Hi,
If I understand, there hasn't been yet statements on whether the freeze
is for Oct 7 or Oct 14.
Could there be one ?
I'd prefer myself Oct 14, because we have a lot of patches for nine, and
they deserve more cleaning and testing, but if it's Oct 7, we'll try be
on time.
Axel
On 29/09
Hello Marek
instead of utilizing jemalloc, I strongly recommend you take a look (for
example) at:
- classes such as ir_copy_propagation_elements_visitor
- file glcpp-parse.y
and to put optimizations and better algorithms in there.
Eliminating the causes of malloc-like calls will result in
On 02.10.2016 13:56, Nicolai Hähnle wrote:
On 01.10.2016 22:22, Tobias Klausmann wrote:
On 01.10.2016 21:46, Marek Olšák wrote:
Hi,
I propose that we use versioning in the form of "year.quarter".
2017 would start with 17.0, then 17.1, 17.2, 17.3 for following
quarters of the year, respectiv
shaderdb runner fails at parsing shader_test files when the first
line inside the require block is not 'GLSL >= x.y'. This just skips
the GL version requirement which is actually unused and allows to
compile +164 shaders from piglit.
---
run.c | 6 ++
1 file changed, 6 insertions(+)
diff --gi
On Sun, Oct 2, 2016 at 4:03 PM, ⚛ <0xe2.0x9a.0...@gmail.com> wrote:
> Hello Marek
>
> instead of utilizing jemalloc, I strongly recommend you take a look (for
> example) at:
>
> classes such as ir_copy_propagation_elements_visitor
> file glcpp-parse.y
>
> and to put optimizations and better algorit
Currently, program binaries are only dumped at upload time, but
when the chipset has been forced via NV50_PROG_CHIPSET we might
want to show the generated code, especially with shaderdb.
Signed-off-by: Samuel Pitoiset
---
src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 5 +
1 file changed,
This reuse the same logic gallium uses to determine if LLVM is needed or
not:
--enable-vulkan-llvm is set to yes if at least one vulkan driver is
active and the host is i3*6 or x86_64.
To build vulkan drivers without LLVM (e.g. intel) one has to add
--disable-vulkan-llvm.
In order to make this all
Signed-off-by: Tobias Droste
---
src/amd/vulkan/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/amd/vulkan/Makefile.am b/src/amd/vulkan/Makefile.am
index 25ab60f..d7f1fc0 100644
--- a/src/amd/vulkan/Makefile.am
+++ b/src/amd/vulkan/Makefile.am
@@ -62,7 +62,7 @@
FYI, the series breaks this test:
piglit/bin/glsl-resource-not-bound Buffer -auto -fbo
glsl-resource-not-bound: state_tracker/st_sampler_view.c:456:
st_get_texture_sampler_view_from_stobj: Assertion `stObj->pt' failed.
Aborted
Removing the assertion fixes it. Note that empty TBO slots are NULL.
One more fix for TBOs is needed:
diff --git a/src/mesa/state_tracker/st_sampler_view.c
b/src/mesa/state_tracker/st_sampler_view.c
index da1df86..a0bea46 100644
--- a/src/mesa/state_tracker/st_sampler_view.c
+++ b/src/mesa/state_tracker/st_sampler_view.c
@@ -459,7 +459,7 @@ st_get_texture_sampler_v
On Friday, September 30, 2016 3:33:12 PM PDT Anuj Phogat wrote:
> Signed-off-by: Anuj Phogat
> ---
> src/intel/vulkan/gen8_pipeline.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/intel/vulkan/gen8_pipeline.c
> b/src/intel/vulkan/gen8_pipeline.c
> index 1abb97c.
From: Marek Olšák
---
src/gallium/drivers/radeonsi/cik_sdma.c | 3 ---
src/gallium/drivers/radeonsi/si_compute.c | 2 --
src/gallium/drivers/radeonsi/si_debug.c | 1 -
src/gallium/drivers/radeonsi/si_descriptors.c | 3 ---
src/gallium/drivers/radeonsi/si_dma.c |
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 16
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 7d1a684..7d92425 100644
--- a/src/gallium/drivers/radeon
From: Marek Olšák
We want to emit IA_MULTI_VGT_PARAM less often because it's a context reg.
---
src/gallium/drivers/radeonsi/si_state_draw.c | 17 ++---
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c
b/src/gallium/drivers/
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_hw_context.c | 1 -
src/gallium/drivers/radeonsi/si_pipe.h | 1 -
src/gallium/drivers/radeonsi/si_state_draw.c | 40 ++--
3 files changed, 14 insertions(+), 28 deletions(-)
diff --git a/src/gallium/drivers/rad
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 82 ++--
1 file changed, 35 insertions(+), 47 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 7d92425..67ab16b 100644
--- a/src/galli
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 67ab16b..414810e 100644
--- a/src/gallium/drivers/radeonsi/
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_debug.c | 25 -
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_debug.c
b/src/gallium/drivers/radeonsi/si_debug.c
index 75ab0e7..d172867 100644
--- a/src/gallium/drivers/
From: Marek Olšák
---
src/gallium/drivers/r600/evergreen_state.c| 2 +-
src/gallium/drivers/r600/r600_pipe.c | 1 +
src/gallium/drivers/r600/r600_pipe.h | 5 +
src/gallium/drivers/r600/r600_state_common.c | 2 +-
src/gallium/drivers/radeon/r600_pipe_common.c | 2 --
sr
From: Marek Olšák
Caches are always flushed at IB boundary.
---
src/gallium/drivers/radeonsi/si_state.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state.c
b/src/gallium/drivers/radeonsi/si_state.c
index 443dc37..04b57dc 100644
---
From: Marek Olšák
similar to gl_buffer_object::UsageHistory
---
src/gallium/drivers/radeon/r600_buffer_common.c | 1 +
src/gallium/drivers/radeon/r600_pipe_common.h | 1 +
src/gallium/drivers/radeonsi/si_descriptors.c | 11 ++-
src/gallium/drivers/radeonsi/si_state.c | 15 +
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_pipe.h | 37
src/gallium/drivers/radeonsi/si_shader.h | 34 ++---
2 files changed, 35 insertions(+), 36 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h
b/src/galliu
From: Marek Olšák
do it at bind time, so that pipe_sampler_view is immutable with regard to
buffer reallocations and we don't have to remember all existing buffer
views.
---
src/gallium/drivers/radeonsi/si_descriptors.c | 33 ---
src/gallium/drivers/radeonsi/si_pipe.h
From: Marek Olšák
---
src/gallium/drivers/radeon/r600_pipe_common.c | 20
src/gallium/drivers/radeon/r600_pipe_common.h | 14 +-
2 files changed, 13 insertions(+), 21 deletions(-)
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c
b/src/gallium/drivers/
From: Marek Olšák
We can finally do this, because the opcodes are scalar now.
---
src/gallium/drivers/radeonsi/si_shader.c | 56
1 file changed, 7 insertions(+), 49 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeons
From: Marek Olšák
not used anymore. It was used when the polygon stipple texture was constant.
---
src/gallium/drivers/radeonsi/si_descriptors.c | 5 +++--
src/gallium/drivers/radeonsi/si_state.c | 11 +--
2 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/src/gallium
From: Marek Olšák
I guess this is not needed because dead code elimination removes
the declaration.
---
src/gallium/drivers/radeonsi/si_pipe.c | 3 +++
src/gallium/drivers/radeonsi/si_pipe.h | 1 +
src/gallium/drivers/radeonsi/si_shader.c | 7 +++
3 files changed, 7 insertions(+), 4 dele
From: Marek Olšák
Just enclose each section with: if (rbuffer->bind_history & PIPE_BIND_...)
Bioshock Infinite: +1% performance
---
src/gallium/drivers/radeonsi/si_descriptors.c | 191 ++
1 file changed, 101 insertions(+), 90 deletions(-)
diff --git a/src/gallium/driver
From: Marek Olšák
si_llvm_emit_ddxy is called once per element, so we don't have to generate
code for 4 elements at once.
---
src/gallium/drivers/radeonsi/si_shader.c | 80
1 file changed, 29 insertions(+), 51 deletions(-)
diff --git a/src/gallium/drivers/radeon
Hi,
These are random patches that I wrote or picked from my private branches. Some
of them are useful improvements or cleanups, others are less useful, but I
included them anyway.
Please review.
Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesk
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_pm4.c | 9 +++-
src/gallium/drivers/radeonsi/si_pm4.h | 1 +
src/gallium/drivers/radeonsi/si_state_shaders.c | 30 +
3 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/src/galliu
On Friday, September 30, 2016 3:33:09 PM PDT Anuj Phogat wrote:
> Signed-off-by: Anuj Phogat
> ---
> src/intel/genxml/gen75.xml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/intel/genxml/gen75.xml b/src/intel/genxml/gen75.xml
> index 1debc3a..8e18007 100644
> --- a
Just say no to:
- brw->gs.base.prog_data = &brw->gs.prog_data->base.base;
We'll just use the brw_stage_prog_data pointer in brw_stage_state
and downcast it to brw_gs_prog_data as needed.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_context.h | 1 -
src/mesa/driv
Just say no to:
- brw->wm.base.prog_data = &brw->wm.prog_data->base.base;
We'll just use the brw_stage_prog_data pointer in brw_stage_state
and downcast it to brw_wm_prog_data as needed.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_context.h | 1 -
src/mesa/driv
Just say no to:
- brw->tcs.base.prog_data = &brw->tcs.prog_data->base.base;
We'll just use the brw_stage_prog_data pointer in brw_stage_state
and downcast it to brw_tcs_prog_data as needed.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_context.h | 1 -
src/mesa/
Just say no to:
- brw->tes.base.prog_data = &brw->tes.prog_data->base.base;
We'll just use the brw_stage_prog_data pointer in brw_stage_state
and downcast it to brw_tes_prog_data as needed.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_context.h | 1 -
src/mesa/
Just say no to:
- brw->cs.base.prog_data = &brw->cs.prog_data->base.base;
We'll just use the brw_stage_prog_data pointer in brw_stage_state
and downcast it to brw_cs_prog_data as needed.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_compute.c | 3 ++-
src/mesa/dr
Just say no to:
- brw->vs.base.prog_data = &brw->vs.prog_data->base.base;
We'll just use the brw_stage_prog_data pointer in brw_stage_state
and downcast it to brw_vs_prog_data as needed.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_context.h | 1 -
src/mesa/driv
Similar to brw_context(...), intel_texture_object(...), and so on.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_compiler.h | 17 ++
src/mesa/drivers/dri/i965/brw_fs.cpp | 43 --
src/mesa/drivers/dri/i965/brw_fs_builder.h |
Gen6-7.5 specify the user clip distance enable bitmask in 3DSTATE_CLIP.
Gen8+ normally uses the new internal signalling mechanism to select the
one specified in the last enabled shader stage (3DSTATE_VS, DS, or GS).
This is a pretty good fit for Vulkan, or even newer GL, where the
bitmask comes en
We need to free prog_data for TCS/TES too.
Signed-off-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_state_cache.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_state_cache.c
b/src/mesa/drivers/dri/i965/brw_state_cache.c
index 0e98e65..43b0a20 100644
Sandybridge still uploads the push constants from these atoms, and those
live in the batch buffer, so they must be re-uploaded on every batch.
I don't see any reason for the Gen7+ atoms to listen to BRW_NEW_BATCH.
My guess is I just copy and pasted it a long time ago.
Signed-off-by: Kenneth Graun
Thanks I'd been meaning to look into this, this is much better. Series
is:
Reviewed-by: Timothy Arceri
It would be great if you could push this soon so I can rebase my shader
cache work on top of it :)
___
mesa-dev mailing list
mesa-dev@lists.freedeskt
This patch is:
Reviewed-by: Timothy Arceri
On Sun, 2016-10-02 at 14:48 -0700, Kenneth Graunke wrote:
> We need to free prog_data for TCS/TES too.
>
> Signed-off-by: Kenneth Graunke
> ---
> src/mesa/drivers/dri/i965/brw_state_cache.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/
Using consistent naming allows us to create macros more easily.
---
src/intel/common/gen_device_info.c| 48 +++
src/intel/common/gen_device_info.h| 4 +--
src/intel/vulkan/anv_allocator.c | 2 +-
src/mesa/drivers/dri/i965/brw_tcs.c | 2
Using consistent naming allows us to create macros more easily.
---
src/intel/common/gen_device_info.c| 48 +++
src/intel/common/gen_device_info.h| 4 +--
src/intel/vulkan/anv_allocator.c | 2 +-
src/mesa/drivers/dri/i965/brw_tes.c | 2
On Friday, 30 September 2016, at 2:35 pm, Emil Velikov wrote:
> On 30 September 2016 at 06:47, Matt Whitlock
> wrote:
> > Without this fix, duplicated file descriptors leak into child processes.
> > See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
> > where the same fix was em
Add the miptree level/slice x/y_offset when count the surface offset
in brw_emit_surface_state. The surface offset has two parts, one is
from mt->offset, which should be 32 aligned in width/height for tiled
buffer; another is from mt->level[current_level].slice[current_slice].
x/y_offset.
This fix
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/state_trackers/xa/xa_tracker.c | 3 ++-
1 file changed, 2 insertions(+)
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c | 3 ++-
src/gallium/winsys/rad
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/state_trackers/dri/dri2.c | 5 +++--
1 file changed, 3 insertions(+), 2
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/egl/drivers/dri2/platform_android.c | 3 ++-
src/gallium/auxiliary/
Add the miptree level/slice x/y_offset when count the surface offset
in brw_emit_surface_state. The surface offset has two parts, one is
from mt->offset, which should be 32 aligned in width/height for tiled
buffer; another is from mt->level[current_level].slice[current_slice].
x/y_offset.
This fix
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/egl/drivers/dri2/platform_android.c | 3 ++-
1 file changed, 2 insertions(+), 1
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/auxiliary/vl/vl_winsys_drm.c | 3 ++-
1 file changed, 2 insertions(+),
On Monday, October 3, 2016 10:39:28 AM PDT Timothy Arceri wrote:
> Using consistent naming allows us to create macros more easily.
I suppose it would :)
Both are
Reviewed-by: Kenneth Graunke
signature.asc
Description: This is a digitally signed message part.
___
On Tuesday, September 27, 2016 11:51:20 PM PDT Chad Versace wrote:
> Cacheing the signal status complicates the code for questionable
> performance benefit. I added the cacheing long ago, and I now think it
> was the wrong decision.
>
> When we later add support for fences based on sync fds (that
On Wednesday, September 28, 2016 4:04:05 PM PDT Timothy Arceri wrote:
> ---
> src/compiler/glsl/linker.cpp | 807
> +--
> src/compiler/glsl/linker.h | 8 +-
> 2 files changed, 407 insertions(+), 408 deletions(-)
May as well. I didn't read any of these
On 10/03/2016 08:09 AM, Marek Olšák wrote:
> From: Marek Olšák
>
> not used anymore. It was used when the polygon stipple texture was constant.
> ---
> src/gallium/drivers/radeonsi/si_descriptors.c | 5 +++--
> src/gallium/drivers/radeonsi/si_state.c | 11 +--
> 2 files changed,
With the trivial comment fix in patch 6, either way, this series is,
Reviewed-by: Edward O'Callaghan
On 10/03/2016 08:09 AM, Marek Olšák wrote:
> Hi,
>
> These are random patches that I wrote or picked from my private branches.
> Some of them are useful improvements or cleanups, others are less
On Thursday, September 8, 2016 10:33:06 PM PDT Francisco Jerez wrote:
[snip]
> Heh, right, my concern was that this smells strongly like a test relying
> on not terribly well-defined behavior... AFAICT the problem addressed
> here is ultimately caused by the discontinuity that the COLORBURN
> blen
From: Chad Versace
---
src/compiler/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/compiler/.gitignore b/src/compiler/.gitignore
index c0e6299..5d30b4e 100644
--- a/src/compiler/.gitignore
+++ b/src/compiler/.gitignore
@@ -1,4 +1,5 @@
glsl_compiler
+spirv2nir
subtest-cr
su
Reviewed-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_link.cpp | 14 ++
src/mesa/main/shaderapi.c | 9 +++--
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp
b/src/mesa/drivers/dri/i965/brw_link.cpp
inde
This code provides for an on-disk cache of objects. Objects are stored
and retrieved via names that are arbitrary 20-byte sequences,
(intended to be SHA-1 hashes of something identifying for the
content). The directory used for the cache can be specified by means
of environment variables in the fol
The last two patches are not needed but it seems safer to just store
separate shaders for different platform to avoid any future bugs which
we are unlikely to do regression testing for since there is no real
advantage in sharing the cached shaders.
V6:
- rewrote a bunch of the i965 shader cache fu
This generates the program ids at cache upload time rather than at
program creation time.
Moving the id generation here will be useful for on-disk shader
cache support because it means we don't generate ids if there was
a cache miss and we had to fall back to compiling from source.
This increases
Reviewed-by: Eric Anholt
---
docs/envvars.html | 11 +++
1 file changed, 11 insertions(+)
diff --git a/docs/envvars.html b/docs/envvars.html
index cf57ca5..f0f18b3 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -112,6 +112,17 @@ glGetString(GL_VERSION) for OpenGL ES.
glGetStr
From: Carl Worth
The shader cache is expected to be developed incrementally over a
fairly long series of commits. For that period of instability, we
require users to opt into the shader cache by setting:
MESA_GLSL_CACHE_ENABLE=1
In the future, when the shader cache is complete, we can r
From: Carl Worth
This will be used by the on disk shader cache.
Signed-off-by: Timothy Arceri
---
src/mesa/drivers/dri/i965/brw_compiler.h | 4
src/mesa/drivers/dri/i965/brw_vs.c | 2 ++
src/mesa/drivers/dri/i965/brw_wm.c | 2 ++
3 files changed, 8 insertions(+)
diff --git a/
From: Carl Worth
V2: dont leak cache
Signed-off-by: Timothy Arceri
---
src/mesa/main/context.c | 6 ++
src/mesa/main/mtypes.h | 5 +
2 files changed, 11 insertions(+)
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 697b518..a7c4a58 100644
--- a/src/mesa/main/cont
From: Carl Worth
The three additional tables are AttributeBindings, FragDataBindings,
and FragDataIndexBindings.
The first table (AttributeBindings) was identified as missing by
trying to test the shader cache with a program that called
glGetAttribLocation.
Many thanks to Tapani Pälli , as it w
---
docs/shading.html | 1 +
src/mesa/main/mtypes.h| 1 +
src/mesa/main/shaderapi.c | 2 ++
3 files changed, 4 insertions(+)
diff --git a/docs/shading.html b/docs/shading.html
index cf989ce..51d0986 100644
--- a/docs/shading.html
+++ b/docs/shading.html
@@ -49,6 +49,7 @@ execution. T
This will be used to skip checking the cache and force a recompile.
---
src/compiler/glsl/glsl_parser_extras.cpp | 22 --
src/compiler/glsl/program.h | 2 +-
src/compiler/glsl/standalone.cpp | 3 ++-
src/mesa/main/shaderapi.c| 2 +-
4 fil
The shader cache will start calling these from the compiler.
---
src/compiler/glsl/standalone_scaffolding.cpp | 8
src/compiler/glsl/standalone_scaffolding.h | 4
2 files changed, 12 insertions(+)
diff --git a/src/compiler/glsl/standalone_scaffolding.cpp
b/src/compiler/glsl/stand
From: Carl Worth
Signed-off-by: Timothy Arceri
---
src/compiler/glsl/link_uniforms.cpp | 4
src/mesa/main/mtypes.h | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/link_uniforms.cpp
b/src/compiler/glsl/link_uniforms.cpp
index b3c3c5a..c
This uses the recently-added cache.c to write out the final linked
binary for vertex and fragment shader programs.
This is based off the initial implementation done by Carl.
---
src/mesa/drivers/dri/i965/Makefile.sources | 1 +
src/mesa/drivers/dri/i965/brw_shader_cache.c | 375 ++
Whoops these three patches where sent by mistake.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
This uses the recently-added cache.c to write out a serialization of
various state that's required in order to successfully load and use a
binary written out by a drivers backend, this state is referred to as
"metadata" throughout the implementation.
This patch is based on the initial work done by
---
src/compiler/glsl/shader_cache.cpp | 14 ++
1 file changed, 14 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 529ec71..2fb8330 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -53
---
src/compiler/glsl/shader_cache.cpp | 16 ++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 2fb8330..b0a7876 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shade
---
src/compiler/glsl/shader_cache.cpp | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index b0a7876..b4b7ee6 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -148,6 +148,1
---
src/compiler/glsl/shader_cache.cpp | 34 +-
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 08927d9..529ec71 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/c
---
src/compiler/glsl/shader_cache.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index b4b7ee6..854a21c 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -149,6 +149,8 @@
---
src/compiler/glsl/linker.cpp | 5 +++--
src/compiler/glsl/program.h | 3 ++-
src/compiler/glsl/standalone.cpp | 2 +-
src/mesa/main/ff_fragment_shader.cpp | 2 +-
src/mesa/main/shaderapi.c| 2 +-
src/mesa/program/ir_to_mesa.cpp | 5 +++--
src/mesa/program/
This will be used to store all pointers in the cache as 64bit ints
allowing us to avoid issues when a 32bit program reads a cached
shader that was created by a 64bit application.
---
src/compiler/glsl/shader_cache.h | 10 ++
1 file changed, 10 insertions(+)
diff --git a/src/compiler/glsl/
---
src/compiler/glsl/shader_cache.cpp | 34 ++
1 file changed, 30 insertions(+), 4 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index abbd696..4903980 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/c
The hash key for glsl metadata is a hash of the hashes of each GLSL
source string.
This commit uses the put_key/get_key support in the cache put the SHA-1
hash of the source string for each successfully compiled shader into the
cache. This allows for early, optimistic returns from glCompileShader
For now this disables the shader cache when transform feedback is enabled
via the GL API.
---
src/compiler/glsl/linker.cpp | 15 -
src/compiler/glsl/shader_cache.cpp | 89
src/mesa/drivers/dri/i965/brw_shader_cache.c | 7 +++
3 files chan
---
src/compiler/glsl/shader_cache.cpp | 14 ++
1 file changed, 14 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 6213d63..1d71068 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -98
The scenario is a program has been linked for the first time and we
cache the program metadata, then glLinkProgram() is called for a second
time. Since we will now retrieve the program metadata from cache we need
to skip linking.
---
src/compiler/glsl/shader_cache.cpp | 1 +
1 file changed, 1 inse
1 - 100 of 156 matches
Mail list logo