https://bugs.freedesktop.org/show_bug.cgi?id=98833
--- Comment #20 from Eero Tamminen ---
(In reply to Daniel Stone from comment #19)
> (In reply to Daniel Stone from comment #18)
> > Right, here we are:
> > https://lists.freedesktop.org/archives/mesa-dev/2017-May/155791.html
>
> Eero, are you a
On 18.05.2017 22:46, Marek Olšák wrote:
From: Marek Olšák
so that LLVM doesn't allocate SGPRs where XNACK is.
Reviewed-by: Nicolai Hähnle
Cc: 17.1
---
src/gallium/drivers/radeonsi/si_pipe.c | 13 +++--
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/src/gallium/dri
https://bugs.freedesktop.org/show_bug.cgi?id=98833
Daniel Stone changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://bugs.freedesktop.org/show_bug.cgi?id=98471
Bug 98471 depends on bug 98833, which changed state.
Bug 98833 Summary: [REGRESSION, bisected] Wayland revert commit breaks
non-Vsync fullscreen frame updates
https://bugs.freedesktop.org/show_bug.cgi?id=98833
What|Removed
Hi Lionel,
On 19 May 2017 at 02:31, Lionel Landwerlin
wrote:
> Thanks for doing this.
> Although you seem to have a multithreaded scenario in mind, this will
> probably help single threaded stacks like Clutter/Cogl & Mesa all using the
> same event queue.
Right you are. Thanks a lot for the revi
On 19.05.2017 03:02, Timothy Arceri wrote:
When we fallback currently the gl_program objects are re-allocated.
This is likely to change when the i965 cache lands, but for now
this fixes a crash when using MESA_GLSL=cache_fb. This env var
simulates the fallback path taken when a tgsi cache item d
From: Ben Widawsky
Previously our aux buffers (MCS, and HiZ) never had an offset because
they were in their own buffer object. When using the CCS lossless
compression feature, it's desirable to store the data at an offset from
the main framebuffer, ie. share a buffer object. This patch just makes
From: Ben Widawsky
We no longer allocate a miptree for the mcs_buf, so this is not a useful
assertion.
While here, move the CCS disabling so that we only conditionally shut it
off. This helps us dtrt later when CCS is used in more places.
Recommended-by: Topi Pohjolainen
Signed-off-by: Ben Wid
Hi,
This series is an amalgamation of two series: Varad's
EGL_EXT_image_dma_buf_import_modifiers support (last seen at v3), and
Ben's i915 CCS support (last seen at v12). I've fairly heavily rebased
them, fixed up the Intel paths, and Varad had also fixed up the
Gallium/pipe parts from Lucas's revi
From: Varad Gautam
we currently ignore the plane count when converting from
__DRI_IMAGE_FORMAT* tokens to __DRI_IMAGE_FOURCC* for multiplanar
images, and only return the first plane's simplified fourcc.
this adds a fourcc to __DRI_IMAGE_FORMAT_* mapping to dri, allowing
us to return the correct
From: Pekka Paalanen
Rather than hardcoding 3, use a #define. Makes it easier to bump this
later to 4.
Signed-off-by: Pekka Paalanen
Signed-off-by: Varad Gautam
Reviewed-by: Eric Engestrom
Reviewed-by: Daniel Stone
Signed-off-by: Daniel Stone
---
src/egl/drivers/dri2/egl_dri2.c | 8 ---
From: Pekka Paalanen
The EGL_EXT_dma_buf_import_modifiers extension adds support for a
fourth plane, just like DRM KMS API does.
Bump maximum dma_buf plane count to four.
v2: prevent attribute tokens from being parsed if
EXT_image_dma_buf_import_modifiers is not suported. (Emil Velikov)
Si
From: Ben Widawsky
v2: Rename modifier to be more smart (Jason)
FINISHME: Use the kernel's final choice for the fb modifier
bwidawsk@norris2:~/intel-gfx/kmscube (modifiers $)
~/scripts/measure_bandwidth.sh ./kmscube none
Read bandwidth: 603.91 MiB/s
Write bandwidth: 615.28 MiB/s
bwidawsk@norri
From: Varad Gautam
support importing dmabufs into DRIimage while taking format modifiers
in account, as per DRIimage extension version 15.
bump __DRIimageExtension to 15.
v2: initialize winsys modifier to DRM_FORMAT_MOD_INVALID (Daniel Stone)
Signed-off-by: Varad Gautam
Signed-off-by: Daniel
From: Varad Gautam
v2: Rebase and reuse tiling/modifier map. (Daniel Stone)
Signed-off-by: Varad Gautam
Signed-off-by: Daniel Stone
---
src/mesa/drivers/dri/i965/intel_screen.c | 59 +---
1 file changed, 54 insertions(+), 5 deletions(-)
diff --git a/src/mesa/drive
When allocating images, we record a tiling mode and then work backwards
to infer the modifier. Unfortunately this is the wrong way around, since
it is a one:many mapping (e.g. TILING_Y can be plain Y-tiling, or
Y-tiling with CCS).
Invert the mapping, so we record a modifier first and then map this
From: Ben Widawsky
Allows us to continue utilizing common miptree creation using __DRIimage
without creating a new DRIimage (for the intel_process_dri2_buffer()
case).
This is a bit ugly, but I think it's the best one can do.
v2: This patch let's us remove the temporary no_aux variable since mt
From: Varad Gautam
Signed-off-by: Varad Gautam
Reviewed-by: Daniel Stone
Signed-off-by: Daniel Stone
---
src/egl/drivers/dri2/egl_dri2.c | 6 ++
src/egl/main/eglapi.c | 1 +
2 files changed, 7 insertions(+)
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl
From: Varad Gautam
allow egl clients to query the dmabuf formats supported on this platform.
v2: return EGLBoolean.
v3: Check DRIimageExtension version before querying (Daniel Stone)
Signed-off-by: Louis-Francis Ratté-Boulianne
Signed-off-by: Varad Gautam
Reviewed-by: Daniel Stone
Signed-off
From: Ben Widawsky
v2: Try to keep the assert as recommended by Topi. This requires
modifying the num_samples check to be <= 1 because internally created
buffers set num_samples = 0.
v3: Buffers are proactively marked as scanout, often, and so checking
is_scanout in whether or not the buffer sup
From: Ben Widawsky
This patch provides the support (and comments) for allocating the BO
with space for the CCS buffer just underneath it.
This patch was originally titled:
"i965: Create correctly sized mcs for an image"
In order to make things more bisectable, reviewable, and to have the
CCS_MO
From: Varad Gautam
introduce modifier field in DRIimage and set it to
DRM_FORMAT_MOD_INVALID for now. support DRIimage modifier
queries.
Suggested-by: Daniel Stone
Signed-off-by: Varad Gautam
Signed-off-by: Daniel Stone
---
src/gallium/state_trackers/dri/dri2.c | 15 +++
sr
From: Ben Widawsky
Upper layers of the code will have the need to specify full or partial
resolves (more on this in the next patch). This code simply adds the new
enums and plumbs it in as minimally as necessary.
Signed-off-by: Ben Widawsky
Acked-by: Daniel Stone
Reviewed-by: Topi Pohjolainen
From: Ben Widawsky
Signed-off-by: Ben Widawsky
Acked-by: Daniel Stone
Reviewed-by: Topi Pohjolainen
Signed-off-by: Daniel Stone
---
src/mesa/drivers/dri/i965/brw_blorp.c | 3 ++-
src/mesa/drivers/dri/i965/brw_blorp.h | 3 ++-
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 4
Intel hardware requires that all planes of an image come from the same
buffer, which is currently implemented by testing that all FDs are
numerically the same.
However, when going through a winsys (e.g.) or anything which transits
FDs individually, the FDs may be different even if the underlying b
From: Varad Gautam
ask the driver for supported dmabuf formats
v2: rebase to master.
v3: return false on failure.
v4: use pscreen->is_format_supported instead of adding a new query.
(Lucas Stach)
Signed-off-by: Varad Gautam
Signed-off-by: Daniel Stone
---
src/gallium/state_trackers/dri/dr
From: Ben Widawsky
Make the code only disable CCS when it has to, unlike before where it
disabled CCS and enabled it when it could. This is much more inline with
how it should work in a few patches, where we have fewer restrictions as
to when we disable CCS.
v2: Change CCS disabling to an assert
From: Ben Widawsky
This provides a common function or creating miptrees when there is an
existing DRIimage to use. That provides an easy way to add CCS
allocation.
v2: Make the new function assume there are always no layout flags. This
will be adjusted later.
Signed-off-by: Ben Widawsky
Acked-
From: Ben Widawsky
There is nothing particularly useful to do currently if the update
fails, but there is no point carrying on either. As a result, this has a
behavior change.
v2: Make the return type a bool (Topi)
v3: Don't leak the bo if update_winsys_renderbuffer fails. (Jason)
Signed-off-b
From: Ben Widawsky
On Gen9 hardware, the display engine is able to scanout a compressed
framebuffer by providing an offset to auxiliary compression information.
Unfortunately, the hardware is incapable of doing the same thing for the
fast clear color.
To mitigate this, the hardware introduced a
From: Ben Widawsky
In the foreseeable future it doesn't seem to make sense to have multiple
resolve flags. What does make sense is to have the caller give an
indication to the lower layers what it things should be done for
resolve. The enum change distinguishes this binary selection.
v2: Make se
From: Varad Gautam
Allow creating EGLImages with dmabuf format modifiers when target is
EGL_LINUX_DMA_BUF_EXT for EGL_EXT_image_dma_buf_import_modifiers.
v2:
- clear modifier assembling and error label name (Eric Engestrom)
v3:
- remove goto jumps within switch-case (Emil Velikov)
- treat zer
From: Varad Gautam
these allow querying the driver for supported dmabuf formats and
modifiers.
v2: move to __DRIimageExtension version 16.
v3: return GLBoolean for error reporting, document params better.
Signed-off-by: Varad Gautam
Reviewed-by: Daniel Stone
Signed-off-by: Daniel Stone
---
From: Varad Gautam
query and return supported dmabuf format modifiers for
EGL_EXT_image_dma_buf_import_modifiers.
v2: move format check to the driver instead of making format queries
here and then checking.
v3: Check DRIimageExtension version before query (Daniel Stone)
Signed-off-by: Varad
From: Ben Widawsky
v2: move is_aux into if block. (Jason)
Use else block instead of goto (Jason)
v3: Fix up logic for is_aux (Ben)
Fix up size calculations and add FIXME (Ben)
Cc: Jason Ekstrand
Signed-off-by: Ben Widawsky
Acked-by: Daniel Stone
Signed-off-by: Daniel Stone
---
src/mesa/dri
From: Varad Gautam
format modifiers tokens are driver specific, and hence, need to come
in from the driver. this allows drivers to be queried for supported
format modifiers for EGL_EXT_image_dma_buf_import_modifiers.
v2: rebase to master.
v3: drivers must return false on query failure.
v4: use p
When importing a dmabuf, verify that the tiling mode matches what was
expected.
Signed-off-by: Daniel Stone
---
src/mesa/drivers/dri/i965/brw_bufmgr.c | 12 ++--
src/mesa/drivers/dri/i965/brw_bufmgr.h | 3 ++-
src/mesa/drivers/dri/i965/intel_screen.c | 5 +++--
3 files changed, 15
From: Varad Gautam
adds a pscreen->resource_create_with_modifiers() to create textures
with modifier.
Signed-off-by: Varad Gautam
Signed-off-by: Daniel Stone
---
src/gallium/include/pipe/p_screen.h | 18
src/gallium/state_trackers/dri/dri2.c | 79 ---
From: Ben Widawsky
This patch shouldn't actually do anything because the libdrm function
should already do this alignment. However, it preps us for a future
patch where we add in the CCS AUX size, and in the process it serves as
a good place to find bisectable issues if libdrm or kernel does
some
This gets rid of quite a bit of CPU/GPU sync on frequent vertex buffer
uploads and I haven't seen any of the issues mentioned in the comment,
so this one seems stale.
Ignore the flag if there exists a temporary resource, as those ones are
never busy.
Signed-off-by: Lucas Stach
---
src/gallium/d
From: Varad Gautam
ask the driver for supported modifiers for a given format.
bump __DRIimageExtension to 16.
v2: move to __DRIimageExtension v16.
v3: fail if the supplied format is not supported by driver.
v4: purge PIPE_CAP_QUERY_DMABUF_ATTRIBS.
Signed-off-by: Varad Gautam
Signed-off-by: Dan
From: Varad Gautam
Add support for createImageFromDmaBufs2, adding a modifier to the
original.
Signed-off-by: Varad Gautam
Signed-off-by: Daniel Stone
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 6 ++
src/mesa/drivers/dri/i965/intel_screen.c | 116 +++---
2
From: Ben Widawsky
This code will disable actually creating these buffers for the scanout,
but it puts the allocation in place.
Primarily this patch is split out for review, it can be squashed in
later if preferred.
v2:
assert(mt->offset == 0) in ccs creation (as requested by Topi)
Remove bogus
From: Pekka Paalanen
add createImageFromDmaBufs2 function which accepts per-plane dmabuf
format modifiers.
Signed-off-by: Pekka Paalanen
Signed-off-by: Varad Gautam
Reviewed-by: Daniel Stone
Signed-off-by: Daniel Stone
---
include/GL/internal/dri_interface.h | 21 -
1 fi
The cpu_fini() call pushes the buffer back into the GPU domain, which needs
to be done for all buffers, not just the ones with CPU written content. The
etnaviv kernel driver currently doesn't validate this, but may start to do
so at a later point in time. If there is a temporary resource the fini n
Reduces bandwidth usage of transfers which discard the buffer contents,
as well as skipping unnecessary command stream flushes and CPU/GPU
synchronization.
Signed-off-by: Lucas Stach
---
src/gallium/drivers/etnaviv/etnaviv_transfer.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff
There is no need to special case compressed resources, as they are already
marked as linear on allocation. With that out of the way, there is room to
cut down on the number of if clauses used.
Signed-off-by: Lucas Stach
---
src/gallium/drivers/etnaviv/etnaviv_transfer.c | 70 +++-
cpu_prep() already does all the required waiting, so the only thing that
needs to be done is flushing the commandstream, if a GPU write is pending.
Signed-off-by: Lucas Stach
---
src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 5 +++--
src/gallium/drivers/etnaviv/etnaviv_resource.c | 16 --
Hi guys!
So I've looked a bit at our transfer functions, as they are causing significant
CPU/GPU syncs in some workloads, which I would like to kill.
This patch series is the first step in that direction. It fixes one bug, cleans
up the code a bit, to make it easier to follow and implements some
Stolen from VC4. As we don't do any fancy reallocation tricks yet, it's
possible to upgrade also coherent mappings and shared resources.
Signed-off-by: Lucas Stach
---
src/gallium/drivers/etnaviv/etnaviv_transfer.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/src/gallium/d
When GALLIUM_THREAD is already set in the environment, addenv()
will end up by setting GALLIUM_THREAD="0,0" which mesa doesn't
understand for some obvious reasons. Instead, use setenv()
because we want to force this behaviour in all situations.
Signed-off-by: Samuel Pitoiset
---
run.c | 2 +-
1
On 19/05/17 19:37, Nicolai Hähnle wrote:
On 19.05.2017 03:02, Timothy Arceri wrote:
When we fallback currently the gl_program objects are re-allocated.
This is likely to change when the i965 cache lands, but for now
this fixes a crash when using MESA_GLSL=cache_fb. This env var
simulates the
Reviewed-by: Marek Olšák
Marek
On Fri, May 19, 2017 at 11:47 AM, Samuel Pitoiset
wrote:
> When GALLIUM_THREAD is already set in the environment, addenv()
> will end up by setting GALLIUM_THREAD="0,0" which mesa doesn't
> understand for some obvious reasons. Instead, use setenv()
> because we wa
On 17 May 2017 at 20:13, Emil Velikov wrote:
> On 17 May 2017 at 18:53, Eric Anholt wrote:
>> Emil Velikov writes:
>>
>>> Hi Eric,
>>>
>>> On 11 May 2017 at 00:06, Eric Anholt wrote:
This follows the model of imx (display) and etnaviv (render): pl111 is a
display-only device, so when
Just like is done on desktop and what is expected by the build-id code.
Signed-off-by: Tapani Pälli
---
Jason, I commented before that this did not work but it seems I had other
changes when testing that screwed up things, sorry for that, this works
just fine!
src/intel/Android.vulkan.mk | 2 +
On Fri, May 12, 2017 at 11:55 AM, Rob Herring wrote:
> There's still an error after my recent clean-up if LLVM is not patched to
> enable AMDGPU target:
>
> external/mesa3d/src/amd/common/ac_llvm_util.c:38:2: error: implicit
> declaration of function 'LLVMInitializeAMDGPUTargetInfo' is invalid in
Would it be feasible for packaging purposes to generate multiple headers,
i.e. gen_builder._llvm38.hpp, gen_builder_llvm39.hpp,
gen_builder_llvm40.hpp, etc. and then have gen_builder.hpp be a stub that
just has something like:
#include
#if llvm_version >= 4.0
#include "gen_builder_llvm40.hpp"
#el
From: Ian Romanick
textdata bss dec hex filename
7034307 235248 37280 7306835 6f7e53 32-bit i965_dri.so before
7034243 235248 37280 7306771 6f7e13 32-bit i965_dri.so after
6676127 303400 50608 7030135 6b4577 64-bit i965_dri.so before
6676063 303400 50608 7030071
From: Ian Romanick
textdata bss dec hex filename
7034243 235248 37280 7306771 6f7e13 32-bit i965_dri.so before
7034243 235248 37280 7306771 6f7e13 32-bit i965_dri.so after
6676063 303400 50608 7030071 6b4537 64-bit i965_dri.so before
6676047 303400 50608 7030055
From: Ian Romanick
The previous code handled everything with the general case. I noticed
that every time I converted an open-coded check to use a
_mesa_has_EXT_foo() function, the text size of the driver increased.
Almost all extensions only care what the current context API is, and
the version
From: Ian Romanick
textdata bss dec hex filename
7034307 235248 37280 7306835 6f7e53 32-bit i965_dri.so before
7034307 235248 37280 7306835 6f7e53 32-bit i965_dri.so after
6676143 303400 50608 7030151 6b4587 64-bit i965_dri.so before
6676127 303400 50608 7030135
From: Ian Romanick
textdata bss dec hex filename
7034243 235248 37280 7306771 6f7e13 32-bit i965_dri.so before
7034211 235248 37280 7306739 6f7df3 32-bit i965_dri.so after
6676047 303400 50608 7030055 6b4527 64-bit i965_dri.so before
6676031 303400 50608 7030039
From: Ian Romanick
textdata bss dec hex filename
7034211 235248 37280 7306739 6f7df3 32-bit i965_dri.so before
7034051 235248 37280 7306579 6f7d53 32-bit i965_dri.so after
6676031 303400 50608 7030039 6b4517 64-bit i965_dri.so before
6675855 303400 50608 7029863
From: Ian Romanick
No change measured by size.
Signed-off-by: Ian Romanick
---
src/mesa/main/texenv.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c
index 0be6708..6e62fd1 100644
--- a/src/mesa/main/texenv.c
+++ b
From: Ian Romanick
All of these functions are also used by the NV10 and NV20 drivers. It
makes sense for them to be in the common file and have the common names
(next patch).
Signed-off-by: Ian Romanick
Cc: Ilia Mirkin
---
src/mesa/drivers/dri/nouveau/Makefile.sources | 1 -
src/mesa/driv
From: Ian Romanick
After moving the contents of nv04_surface.c to nouveau_surface.c, rename
all the functions.
Signed-off-by: Ian Romanick
Cc: Ilia Mirkin
---
src/mesa/drivers/dri/nouveau/nouveau_surface.c | 60 +-
src/mesa/drivers/dri/nouveau/nouveau_surface.h | 18 ++
I kinda see it both ways - yeah, the functions are the same and it's
all shared, so your patch makes sense. OTOH, all of these functions
(which do anything) have a nv04/nv10/nv20 prefix, which makes it
easier to separate stuff out by generation if need be. So I think in a
perfect world, the actual
On Fri, May 19, 2017 at 9:38 AM, Ian Romanick wrote:
> diff --git a/src/mesa/main/get_hash_params.py
> b/src/mesa/main/get_hash_params.py
> index 58d428d..850ce7d 100644
> --- a/src/mesa/main/get_hash_params.py
> +++ b/src/mesa/main/get_hash_params.py
> @@ -957,8 +957,8 @@ descriptor=[
> # Enums
https://bugs.freedesktop.org/show_bug.cgi?id=101071
--- Comment #6 from Emil Velikov ---
(In reply to warpme from comment #5)
> Emil,
> One thing:
>
> in configure I see:
>
> checking for the pthreads library -lpthreads... no
> checking whether pthreads work without any flags... yes
> checking
Am Freitag, den 19.05.2017, 10:37 +0100 schrieb Daniel Stone:
> From: Varad Gautam
>
> adds a pscreen->resource_create_with_modifiers() to create textures
> with modifier.
>
> Signed-off-by: Varad Gautam
> Signed-off-by: Daniel Stone
Reviewed-by: Lucas Stach
> ---
> src/gallium/include/pip
Am Freitag, den 19.05.2017, 10:37 +0100 schrieb Daniel Stone:
> From: Varad Gautam
>
> introduce modifier field in DRIimage and set it to
> DRM_FORMAT_MOD_INVALID for now. support DRIimage modifier
> queries.
>
> Suggested-by: Daniel Stone
> Signed-off-by: Varad Gautam
> Signed-off-by: Daniel
Am Freitag, den 19.05.2017, 10:37 +0100 schrieb Daniel Stone:
> From: Varad Gautam
>
> support importing dmabufs into DRIimage while taking format modifiers
> in account, as per DRIimage extension version 15.
>
> bump __DRIimageExtension to 15.
>
> v2: initialize winsys modifier to DRM_FORMAT_M
Am Freitag, den 19.05.2017, 10:37 +0100 schrieb Daniel Stone:
> From: Varad Gautam
>
> ask the driver for supported dmabuf formats
>
> v2: rebase to master.
> v3: return false on failure.
> v4: use pscreen->is_format_supported instead of adding a new query.
> (Lucas Stach)
> Signed-off-by: V
Am Freitag, den 19.05.2017, 10:37 +0100 schrieb Daniel Stone:
> From: Varad Gautam
>
> ask the driver for supported modifiers for a given format.
> bump __DRIimageExtension to 16.
>
> v2: move to __DRIimageExtension v16.
> v3: fail if the supplied format is not supported by driver.
> v4: purge P
On 19 May 2017 at 13:11, Chuck Atkins wrote:
> Would it be feasible for packaging purposes to generate multiple headers,
> i.e. gen_builder._llvm38.hpp, gen_builder_llvm39.hpp,
> gen_builder_llvm40.hpp, etc. and then have gen_builder.hpp be a stub that
> just has something like:
>
> #include
> #i
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 22 --
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
index c5b94b9..9519e0d 100644
From: Marek Olšák
---
src/amd/common/ac_llvm_build.c | 50
src/amd/common/ac_llvm_build.h | 3 +-
src/amd/common/ac_nir_to_llvm.c | 2 +-
src/gallium/drivers/radeonsi/si_shader.c | 23 +++
4 files changed, 51 insertions(
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 30 ++-
1 file changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
index bd8ecb7..c5b94b9 10064
VS, HS, DS and GS URB Starting Address field on the respective
3DSTATE_URB_?S instructions is 5 bits on gen7. However, if VS is the
only step enabled, the whole URB gets allocated (except for push
constant space) for the VS. But on some configurations, the size of the
URB is 32 "chunks" (8kB each c
Both gen6 and gen7+ were moved into the same function, but the code is
still quite split.
In order to make both functions have the same signature, I moved the
logic from upload_urb on gen6 that sets gs_size to vs_size into
genX(upload_urb), so we don't have to pass gs_size to that function
anymore
The GENX_DECL() macro is used to declare prototypes of a given function
to each gen, so we don't have to manually add each of them to headers.
The second macro, genX_find(), is used to call the right function for
the running gen, but from code that is not gen specific.
Signed-off-by: Rafael Antog
The documentation for SNB says that it expects a value [0,4] = [1,5], but we
don't really check whether the parameters are actually >= 1.
Additionally, on blorp we are calling gen6_upload_urb(gs_size = 0), which
causes it to be sent as -1, and that shouldn't be valid, but seems to be just
ignored.
On May 19, 2017, at 10:26 AM, Emil Velikov
mailto:emil.l.veli...@gmail.com>> wrote:
On 19 May 2017 at 13:11, Chuck Atkins
mailto:chuck.atk...@kitware.com>> wrote:
Would it be feasible for packaging purposes to generate multiple headers,
i.e. gen_builder._llvm38.hpp, gen_builder_llvm39.hpp,
gen_
Hi,
This series implements ARB_bindless_texture for RadeonSI.
Reminder: the GLSL compiler part is already upstream.
This series has been mainly tested with Feral games, here's the list of
existing games that use ARB_bindless_texture (though not by default):
- DXMD
- Hitman
- Dirt Rally
- Mad Ma
Bindless sampler/image handles are represented using 64-bit
unsigned integers.
The ARB_bindless_texture spec says:
"The error INVALID_OPERATION is generated by UniformHandleui64{v}ARB
if the sampler or image uniform being updated has the "bound_sampler"
or "bound_image" layout qualifier"
Signed-off-by: Samuel Pitoiset
---
src/mapi/glapi/gen/ARB_bindless_texture.xml | 100
src/mapi/glapi/gen/Makefile.am | 1 +
src/mapi/glapi/gen/gl_API.xml | 4 +-
src/mapi/glapi/gen/gl_genexec.py| 1 +
src/mesa/Makefile.sour
This adds support in the VBO and array code to handle unsigned
64-bit vertex attributes as specified by ARB_bindless_texture.
Signed-off-by: Samuel Pitoiset
---
src/mapi/glapi/gen/apiexec.py | 3 +++
src/mesa/main/api_loopback.c | 4
src/mesa/main/varray.c| 18 ++
The ARB_bindless_texture spec says:
"The error INVALID_OPERATION is generated by SamplerParameter* if
identifies a sampler object referenced by one or more
texture handles."
Signed-off-by: Samuel Pitoiset
---
src/mesa/main/samplerobj.c | 42 ++
Signed-off-by: Samuel Pitoiset
---
src/mesa/main/context.c | 3 +
src/mesa/main/dd.h | 17 +
src/mesa/main/mtypes.h | 34 ++
src/mesa/main/samplerobj.c | 6 +
src/mesa/main/shared.c | 12 +
src/mesa/main/texobj.c | 12 +
src/mesa/main/t
The ARB_bindless_texture spec says:
"The error INVALID_OPERATION is generated by TexImage*, CopyTexImage*,
CompressedTexImage*, TexBuffer*, TexParameter*, as well as other
functions defined in terms of these, if the texture object to be
modified is referenced by one or more texture
The ARB_bindless_texture spec says:
"The ARB_bindless_texture spec says: "The error INVALID_OPERATION
is generated by TexImage*, CopyTexImage*, CompressedTexImage*,
TexBuffer*, TexParameter*, as well as other functions defined in
terms of these, if the texture object to be modified
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/link_uniforms.cpp | 83 -
src/compiler/glsl/shader_cache.cpp | 23 ++
src/mesa/program/program.c | 4 ++
3 files changed, 99 insertions(+), 11 deletions(-)
diff --git a/src/compiler/glsl/l
This handles a situation like:
layout (bindless_sampler, binding = 7) uniform sampler2D;
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/link_uniform_initializers.cpp | 35 -
1 file changed, 29 insertions(+), 6 deletions(-)
diff --git a/src/compiler/glsl/link_unifo
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/link_uniforms.cpp | 74 -
src/compiler/glsl/shader_cache.cpp | 20 ++
src/mesa/program/program.c | 4 ++
3 files changed, 89 insertions(+), 9 deletions(-)
diff --git a/src/compiler/glsl/li
The ARB_bindless_texture spec says:
"The error INVALID_OPERATION is generated by BufferData if it is
called to modify a buffer object bound to a buffer texture while
that texture object is referenced by one or more texture handles."
Signed-off-by: Samuel Pitoiset
---
src/mesa/main/bu
Bindless samplers are considered PROGRAM_UNIFORM but
add_uniform_to_shader::visit_field() is based on glsl_type.
Because only ir_variable knows if the uniform variable is
bindless via ir_variable::bindless, store it instead of
adding a new parameter to visit_field().
Signed-off-by: Samuel Pitoise
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/ir.h | 11 +++
1 file changed, 11 insertions(+)
diff --git a/src/compiler/glsl/ir.h b/src/compiler/glsl/ir.h
index 91e665cc1b..c816a327c1 100644
--- a/src/compiler/glsl/ir.h
+++ b/src/compiler/glsl/ir.h
@@ -475,6 +475,17 @@ public:
Yes, ARB_bindless_texture allows to do this. In other words, in
a situation like:
layout (bindless_sampler) uniform sampler2D tex;
The 'tex' sampler uniform can be either set with glUniform1()
(old-style bound samplers) or with glUniformHandleui() (resident
handles).
When glUniform1() is used, w
This is analogous to the existing SamplerUnits and SamplerTargets,
but it loops over bindless samplers bound to texture units.
Signed-off-by: Samuel Pitoiset
---
src/mesa/main/texstate.c | 18 +-
src/mesa/main/uniforms.c | 17 -
2 files changed, 33 insertions(+),
In order to set the explicit binding value for bindless
samplers/images.
Signed-off-by: Samuel Pitoiset
---
src/compiler/glsl/link_uniform_initializers.cpp | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/compiler/glsl/link_uniform_initializers.cpp
b/src/compiler/g
1 - 100 of 200 matches
Mail list logo