mesa.git
7 years agoradeonsi: make si_compile_llvm static
Marek Olšák [Fri, 28 Apr 2017 18:31:45 +0000 (20:31 +0200)]
radeonsi: make si_compile_llvm static

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoradeonsi: fold surrounding code into si_llvm_finalize_module
Marek Olšák [Fri, 28 Apr 2017 18:23:19 +0000 (20:23 +0200)]
radeonsi: fold surrounding code into si_llvm_finalize_module

and rename to si_llvm_optimize_module.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoradeonsi: don't call eliminate_const_vs_outputs in shaders without VS exports
Marek Olšák [Fri, 28 Apr 2017 14:35:13 +0000 (16:35 +0200)]
radeonsi: don't call eliminate_const_vs_outputs in shaders without VS exports

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoradeonsi: drop support for LLVM 3.8
Marek Olšák [Tue, 25 Apr 2017 00:18:10 +0000 (02:18 +0200)]
radeonsi: drop support for LLVM 3.8

LLVM 3.8:
- had broken indirect resource indexing
- didn't have scratch coalescing
- was the last user of problematic v16i8
- only supported OpenGL 4.1

This leaves us with LLVM 3.9 and LLVM 4.0 support for Mesa 17.2.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoradeonsi: stop using v16i8
Marek Olšák [Mon, 24 Apr 2017 22:56:44 +0000 (00:56 +0200)]
radeonsi: stop using v16i8

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoradeonsi/gfx9: make some PA & DB registers match the closed Vulkan driver
Marek Olšák [Fri, 28 Apr 2017 17:28:06 +0000 (19:28 +0200)]
radeonsi/gfx9: make some PA & DB registers match the closed Vulkan driver

Cc: 17.1 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoradv: don't advertise transfer props unless we can do anything else
Dave Airlie [Thu, 4 May 2017 00:51:49 +0000 (10:51 +1000)]
radv: don't advertise transfer props unless we can do anything else

There is no reason to advertise transfer ability for formats we can't
use for anything else. This stops some CTS tests hitting internal
error for 64-bit types when they see the transfer flags.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
7 years agofreedreno/a5xx: compute shader support
Rob Clark [Thu, 4 May 2017 17:26:35 +0000 (13:26 -0400)]
freedreno/a5xx: compute shader support

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agofreedreno: core compute state support
Rob Clark [Thu, 4 May 2017 17:24:37 +0000 (13:24 -0400)]
freedreno: core compute state support

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agofreedreno/ir3: compute shader support
Rob Clark [Mon, 17 Apr 2017 15:40:16 +0000 (11:40 -0400)]
freedreno/ir3: compute shader support

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agofreedreno/a5xx: SSBO support
Rob Clark [Mon, 17 Apr 2017 15:25:29 +0000 (11:25 -0400)]
freedreno/a5xx: SSBO support

To simplify things for now, since all the gfx shader stages share a
single SSBO state block, only advertise SSBO support for fragment shader
(and compute when we have that).  We could possibly use a fixed-
partitioning of the SSBO index space to support SSBOs on other stages
without having to resort to shader variants.

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agofreedreno/ir3: SSBO/atomic support
Rob Clark [Mon, 17 Apr 2017 15:04:00 +0000 (11:04 -0400)]
freedreno/ir3: SSBO/atomic support

TODO cwabbott pointed out a write-after-read hazzard, which effects both
this and arrays.  A write needs to depend on *all* reads since the last
write, not just the last read.

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agofreedreno: core SSBO support
Rob Clark [Mon, 17 Apr 2017 14:56:20 +0000 (10:56 -0400)]
freedreno: core SSBO support

The generation-independent support for binding shader buffer objects.

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agofreedreno/ir3: resync instr-a3xx.h/disasm-a3xx.c
Rob Clark [Mon, 3 Apr 2017 17:25:02 +0000 (13:25 -0400)]
freedreno/ir3: resync instr-a3xx.h/disasm-a3xx.c

Sync to the same files from freedreno.git to correct decoding of ldgb/
stgb instructions.

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agomesa/st: compute support for glsl_to_nir
Rob Clark [Tue, 4 Apr 2017 19:55:25 +0000 (15:55 -0400)]
mesa/st: compute support for glsl_to_nir

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
7 years agonir: add pass to lower atomic counters to SSBO
Rob Clark [Wed, 12 Apr 2017 17:26:54 +0000 (13:26 -0400)]
nir: add pass to lower atomic counters to SSBO

This is equivalent to what mesa/st does in glsl_to_tgsi.  For most hw
there isn't a particularly good reason to treat these differently.

Signed-off-by: Rob Clark <robdclark@gmail.com>
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
7 years agonir: add a C wrapper for glsl_type::get_interface_instance()
Rob Clark [Mon, 24 Apr 2017 14:22:25 +0000 (10:22 -0400)]
nir: add a C wrapper for glsl_type::get_interface_instance()

Signed-off-by: Rob Clark <robdclark@gmail.com>
7 years agomapi_abi.py: remove no longer used --mode option
Emil Velikov [Thu, 13 Apr 2017 17:42:37 +0000 (18:42 +0100)]
mapi_abi.py: remove no longer used --mode option

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
7 years agomapy_abi.py: remove dead output_for_app generator
Emil Velikov [Thu, 13 Apr 2017 17:35:42 +0000 (18:35 +0100)]
mapy_abi.py: remove dead output_for_app generator

Used by the OpenVG codebase.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
7 years agomapi: replace mapi_table abstraction
Emil Velikov [Thu, 13 Apr 2017 17:23:50 +0000 (18:23 +0100)]
mapi: replace mapi_table abstraction

Replace all instances of mapi_table with the actual struct _glapi_table.
The former may have been needed when the OpenVG was around. But since
that one is long gone, there' no point in having the current confusing
mix of the two.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
7 years agomesa/tests: remove no longer needed HAVE_SHARED_GLAPI define
Emil Velikov [Thu, 13 Apr 2017 16:54:08 +0000 (17:54 +0100)]
mesa/tests: remove no longer needed HAVE_SHARED_GLAPI define

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agogl_table.py: always regenerate the complete struct _glapi_table
Emil Velikov [Thu, 13 Apr 2017 16:50:10 +0000 (17:50 +0100)]
gl_table.py: always regenerate the complete struct _glapi_table

Currently we would generate a partial one as we do non-shared glapi.
At the same time since it's local, we don't care that much if we have a
few extra bytes of space in the table.

Drop the guard, which allows us to simplify both build system and code.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglx/apple: remove empty variable SHARED_GLAPI_CFLAGS
Emil Velikov [Thu, 13 Apr 2017 16:35:06 +0000 (17:35 +0100)]
glx/apple: remove empty variable SHARED_GLAPI_CFLAGS

Cc: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglx/windows: remove empty variable SHARED_GLAPI_CFLAGS
Emil Velikov [Thu, 13 Apr 2017 16:34:04 +0000 (17:34 +0100)]
glx/windows: remove empty variable SHARED_GLAPI_CFLAGS

Cc: Jon Turney <jon.turney@dronecode.org.uk>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglx: automake: scons: remove unneeded GLX_SHARED_GLAPI define
Emil Velikov [Thu, 13 Apr 2017 17:02:29 +0000 (18:02 +0100)]
glx: automake: scons: remove unneeded GLX_SHARED_GLAPI define

There's no users in-tree that use it.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agotargets/libgl-xlib: remove unneeded GLX_SHARED_GLAPI define
Emil Velikov [Thu, 13 Apr 2017 16:32:35 +0000 (17:32 +0100)]
targets/libgl-xlib: remove unneeded GLX_SHARED_GLAPI define

There's no users in-tree that use it.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agodrivers/x11: remove unneeded GLX_SHARED_GLAPI define
Emil Velikov [Thu, 13 Apr 2017 16:30:10 +0000 (17:30 +0100)]
drivers/x11: remove unneeded GLX_SHARED_GLAPI define

There's no users in-tree that use it.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglx: glX_proto_send.py: use correct compile guard GLX_INDIRECT_RENDERING
Emil Velikov [Thu, 13 Apr 2017 16:17:45 +0000 (17:17 +0100)]
glx: glX_proto_send.py: use correct compile guard GLX_INDIRECT_RENDERING

The code itself has nothing to do with shared glapi, thus having it
behind GLX_SHARED_GLAPI is misleading. Use GLX_INDIRECT_RENDERING
instead.

The latter macro is set at global scope by the Autotools and Scons build
systems.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agomapi/es*api: remove unneeded HAVE_SHARED_GLAPI guard
Emil Velikov [Thu, 13 Apr 2017 15:35:12 +0000 (16:35 +0100)]
mapi/es*api: remove unneeded HAVE_SHARED_GLAPI guard

Always true, since GLES* requires shared glapi.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agomesa/dri: remove unneeded HAVE_SHARED_GLAPI guard
Emil Velikov [Thu, 13 Apr 2017 15:37:44 +0000 (16:37 +0100)]
mesa/dri: remove unneeded HAVE_SHARED_GLAPI guard

Always true, since the dri modules required shared glapi.

With earlier commit (da410e6afad "configure: explicitly require shared
glapi for enable-dri") we even made that explicit during the configure
stage.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agogallium/dri: remove unneeded HAVE_SHARED_GLAPI guard
Emil Velikov [Thu, 13 Apr 2017 15:12:02 +0000 (16:12 +0100)]
gallium/dri: remove unneeded HAVE_SHARED_GLAPI guard

Always true, since the dri modules required shared glapi.

With earlier commit (da410e6afad "configure: explicitly require shared
glapi for enable-dri") we even made that explicit during the configure
stage.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agomesa/dri: always link against shared glapi
Emil Velikov [Thu, 13 Apr 2017 18:36:56 +0000 (19:36 +0100)]
mesa/dri: always link against shared glapi

Analogous to previous commit. Check with the extensive commit
description and bug report referenced.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agogallium/dri: always link against shared glapi
Emil Velikov [Thu, 13 Apr 2017 17:54:03 +0000 (18:54 +0100)]
gallium/dri: always link against shared glapi

In the early days of Xorg and Mesa we had multiple providers of the
GLAPI. All of those were the ones responsible for dlopening the DRI
module. Hence it was perfectly fine, and actually expected, for the DRI
modules to have unresolved symbols.

Since then we've moved the API to a separate shared library and no other
libraries provide the symbols.

Here comes the picky part:
It's possible that one uses old Xorg (where libglx.so provides the
GLAPI) and new Mesa (with DRI modules linking against libglapi.so).

That should still work, since the the libglx.so symbols will take
precedence over the libglapi.so ones.

I've verified this while running 1.14 series Xorg alongside this (and
next) patch.

It may seem a bit fragile, but that's of reasonably OK since all of the
affected Xorg versions have been EOL for years.

The final one being the 1.14 series, which saw its final bug fix release
1.14.7 in June 2014.

To ensure that the binaries do not have unresolved symbols add
-no-undefined and $(LD_NO_UNDEFINED), just like we do everywhere else
throughout mesa.

Cc: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98428
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoanv: fix anv_gem_mmap comment to not mention NULL
Emil Velikov [Thu, 4 May 2017 14:50:27 +0000 (15:50 +0100)]
anv: fix anv_gem_mmap comment to not mention NULL

The function cannot return NULL, update the comment accordingly.

Fixes: b546c9d ("anv: anv_gem_mmap() returns MAP_FAILED as mapping error")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
7 years agoeg: explicitly size dri2_to_egl_attribute_map[]
Emil Velikov [Mon, 1 May 2017 18:40:31 +0000 (19:40 +0100)]
eg: explicitly size dri2_to_egl_attribute_map[]

This way we'll get an implicit zero initialization of the remaining
members, as required by dri2_add_config().

Fixes: e5efaeb85c3 ("egl: polish dri2_to_egl_attribute_map[]")
Cc: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
7 years agodri_interface.h: define __DRI_ATTRIB_MAX
Emil Velikov [Mon, 1 May 2017 18:37:56 +0000 (19:37 +0100)]
dri_interface.h: define __DRI_ATTRIB_MAX

Thus we can use the value to explicitly size arrays, instead of
__DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE + 1.

The latter seems magical and is error prone, as we add more dri
attributes.

v2: Fix off by one error (Tomasz)

Cc: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
7 years agoscons: update for LLVM 4.0
Ben Boeckel [Thu, 27 Apr 2017 20:31:48 +0000 (16:31 -0400)]
scons: update for LLVM 4.0

LLVMDemangle, LLVMGlobalISel, and LLVMDebugInfoMSF are new.

Also update the comment to add irreader to the list of components.

CC: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Chuck Atkins <chuck.atkins@kitware.com>
Signed-off-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
7 years agoc11/threads: rework Windows thrd_current() comment
Emil Velikov [Sat, 29 Apr 2017 13:46:02 +0000 (14:46 +0100)]
c11/threads: rework Windows thrd_current() comment

Drop the misleading "will not match the one returned by thread_create"
hunk and provide more clarity as to what/why GetCurrentThread() isn't
the solution we're looking for.

v2: Places brackets after function names (Eric)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com> (v1)
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
7 years agoegl/platform/drm: Don't take display ownership until gbm is initialized
Adam Jackson [Wed, 3 May 2017 15:03:34 +0000 (11:03 -0400)]
egl/platform/drm: Don't take display ownership until gbm is initialized

If the gbm_create_device() call here actually did fail, any subsequent
eglTerminate on the display would segfault.

Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
7 years agoegl/x11: Honor the EGL_PLATFORM_X11_SCREEN_EXT attribute
Adam Jackson [Tue, 2 May 2017 16:27:01 +0000 (12:27 -0400)]
egl/x11: Honor the EGL_PLATFORM_X11_SCREEN_EXT attribute

Introduce _egl_display::Options::Platforms for private storage.
For X11 platforms we can use it for the screen number as set by
EGL_PLATFORM_X11_SCREEN_EXT.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
7 years agoanv: vkBindImageMemory() should return VK_ERROR_OUT_OF_{HOST,DEVICE}_MEMORY on failure
Samuel Iglesias Gonsálvez [Thu, 4 May 2017 09:57:36 +0000 (11:57 +0200)]
anv: vkBindImageMemory() should return VK_ERROR_OUT_OF_{HOST,DEVICE}_MEMORY on failure

According to the spec we get VK_ERROR_OUT_OF_HOST_MEMORY or
VK_ERROR_OUT_OF_DEVICE_MEMORY on vkBindImageMemory failure.

Fixes returned value changed by b546c9d.

Fixes: b546c9d ("anv: anv_gem_mmap() returns MAP_FAILED as mapping error")
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Cc: "17.0 17.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
7 years agoglsl: reject memory qualifiers with uniform blocks
Samuel Pitoiset [Wed, 3 May 2017 16:37:28 +0000 (18:37 +0200)]
glsl: reject memory qualifiers with uniform blocks

The spec allows memory qualifiers to be used with image variables,
buffers variables and shader storage blocks. This patch also fixes
validate_memory_qualifier_for_type().

Fixes the following ARB_uniform_buffer_object test:

uniform-block-memory-qualifier.frag

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglsl: reject format qualifiers with non-image types everywhere
Samuel Pitoiset [Mon, 1 May 2017 10:34:42 +0000 (12:34 +0200)]
glsl: reject format qualifiers with non-image types everywhere

Including structures, interfaces and uniform blocks.

Fixes the following ARB_shader_image_load_store test:

format-layout-with-non-image-type.frag

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglsl: rework validate_image_qualifier_for_type()
Samuel Pitoiset [Mon, 1 May 2017 10:34:41 +0000 (12:34 +0200)]
glsl: rework validate_image_qualifier_for_type()

It makes more sense to have two separate validate functions,
mainly because memory qualifiers are allowed with members of
shader storage blocks.

validate_memory_qualifier_for_type() will be fixed in a
separate patch.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglsl: rename image_* qualifiers to memory_*
Samuel Pitoiset [Wed, 3 May 2017 09:16:57 +0000 (11:16 +0200)]
glsl: rename image_* qualifiers to memory_*

It doesn't make sense to prefix them with 'image' because
they are called "Memory Qualifiers" and they can be applied
to members of storage buffer blocks.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Andres Gomez <agomez@igalia.com>
7 years agoanv: anv_gem_mmap() returns MAP_FAILED as mapping error
Samuel Iglesias Gonsálvez [Wed, 3 May 2017 06:02:21 +0000 (08:02 +0200)]
anv: anv_gem_mmap() returns MAP_FAILED as mapping error

Take it into account when checking if the mapping failed.

v2:
- Remove map == NULL and its related comment (Emil)

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Fixes: 6f3e3c715a7 ("vk/allocator: Add a BO pool")
Fixes: 9919a2d34de ("anv/image: Memset hiz surfaces to 0 when binding memory")
Cc: "17.0 17.1" <mesa-stable@lists.freedesktop.org>
7 years agonir/lower_tex: Fix minor error in YUV color conversion matrix
Johnson Lin [Thu, 4 May 2017 06:37:52 +0000 (14:37 +0800)]
nir/lower_tex: Fix minor error in YUV color conversion matrix

The matrix used for YCbCr to RGB is listed in:

    https://en.wikipedia.org/wiki/YCbCr

There was an error in converting the offsets from integers to unorm
values: 0.0625=16/256 should be 16.0/255,and 0.5=128.0/256 should be
128.0/255.  With this fix, the CSC result is bit aligned with wikipedia's
conversion result and FFMPeg's result.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100854
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
7 years agoi965: Port gen4+ state emitting code to genxml.
Rafael Antognolli [Wed, 19 Apr 2017 20:13:25 +0000 (13:13 -0700)]
i965: Port gen4+ state emitting code to genxml.

On this patch, we port:
   - brw_polygon_stipple
   - brw_polygon_stipple_offset
   - brw_line_stipple
   - brw_drawing_rect

v2:
   - Also emit states for gen4-5 with this code.
v3:
   - Style fixes and remove excessive checks (Ken).

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ 3DSTATE_CC_STATE_POINTERS state to genxml.
Rafael Antognolli [Wed, 19 Apr 2017 23:16:24 +0000 (16:16 -0700)]
i965: Port gen6+ 3DSTATE_CC_STATE_POINTERS state to genxml.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ multisample state emitting code to genxml.
Rafael Antognolli [Wed, 19 Apr 2017 16:56:36 +0000 (09:56 -0700)]
i965: Port gen6+ multisample state emitting code to genxml.

Emit 3DSTATE_MULTISAMPLE using brw_batch_emit.

v3:
   - Remove dead code (Ken)
   - Simplify #if/#endif (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen4+ emit vertices code to genxml.
Rafael Antognolli [Thu, 6 Apr 2017 23:43:49 +0000 (16:43 -0700)]
i965: Port gen4+ emit vertices code to genxml.

Some code that was placed in brw_draw_upload.c and exported to be used
by gen8+ was also moved to genX_state_upload, and the respective symbols
are not exported anymore.

v2:
   - Remove code from brw_draw_upload too
   - Emit vertices for gen4-5 too.
   - Use helper to setup brw_address (Kristian)
   - Use macros for MOCS values.
   - Do not use #ifndef NDEBUG on code that is actually used (Ken)
v3:
   - Style and code clenup (Ken)
   - Keep some of the common code inside brw_draw_upload.c (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port push constant code to genxml.
Rafael Antognolli [Wed, 5 Apr 2017 23:22:43 +0000 (16:22 -0700)]
i965: Port push constant code to genxml.

The following states are ported on this patch:
   - gen6_gs_push_constants
   - gen6_vs_push_constants
   - gen6_wm_push_constants
   - gen7_tes_push_constants

v2:
   - Use helper to setup brw_address (Kristian)
v3:
   - Do not use macro for upload_constant_state (Ken)
   - Do not re-declare MOCS macro (Ken)
v4: (by Ken)
   - Drop more dead code, change brw->gen checks to GEN_GEN, style nits

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ 3DSTATE_SCISSOR_STATE_POINTERS to use genxml.
Rafael Antognolli [Thu, 30 Mar 2017 16:52:19 +0000 (09:52 -0700)]
i965: Port gen6+ 3DSTATE_SCISSOR_STATE_POINTERS to use genxml.

Emit 3DSTATE_SCISSOR_STATE_POINTERS using brw_batch_emit, and pack the
scissor states using GENX(SCISSOR_RECT_pack), generated from genxml.

v3:
   - Remove old code (Ken)
   - Style fixes (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen7+ 3DSTATE_TE to genxml.
Rafael Antognolli [Wed, 29 Mar 2017 20:43:51 +0000 (13:43 -0700)]
i965: Port gen7+ 3DSTATE_TE to genxml.

Emit 3DSTATE_TE on Gen7+ using brw_batch_emit helper.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ blend state code to genxml.
Rafael Antognolli [Mon, 27 Mar 2017 22:52:10 +0000 (15:52 -0700)]
i965: Port gen6+ blend state code to genxml.

Upload blend states using GENX(BLEND_STATE_ENTRY_pack), generated from
genxml.

v3:
   - style fixes (Ken)
   - cleanup to remove excessive #ifdef's (Ken)
   - remove memset (Ken)
   - disable blend.AlphaToCoverageDitherEnable on gen6 (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ state emitting code to genxml.
Rafael Antognolli [Mon, 27 Mar 2017 15:42:45 +0000 (08:42 -0700)]
i965: Port gen6+ state emitting code to genxml.

Ported in this patch:
   - 3DSTATE_DS
   - 3DSTATE_GS
   - 3DSTATE_HS
   - 3DSTATE_VIEWPORT_STATE_POINTERS_SF_CL

v3:
   - Remove NEW_TRANSFORM blocks (Ken)
   - Bring back some comments and workaround for Ivybridge (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ 3DSTATE_VS to genxml.
Rafael Antognolli [Wed, 22 Mar 2017 23:26:55 +0000 (16:26 -0700)]
i965: Port gen6+ 3DSTATE_VS to genxml.

Emit 3DSTATE_VS on Gen6+ using brw_batch_emit helper, that uses pack
structs from genxml.

v2:
   - Use render_bo helper to setup brw_address (Kristian)
v3:
   - Bring back some comments for gen6 and remove _NEW_TRANSFORM blocks
   from gen7+.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen8+ 3DSTATE_PS_EXTRA to genxml.
Rafael Antognolli [Tue, 21 Mar 2017 23:29:23 +0000 (16:29 -0700)]
i965: Port gen8+ 3DSTATE_PS_EXTRA to genxml.

Emit 3DSTATE_PS_EXTRA on Gen8+ using brw_batch_emit helper, that uses
pack structs from genxml.

v3:
   - Style fixes and moving code around to be cleaner (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ 3DSTATE_WM to genxml.
Rafael Antognolli [Tue, 21 Mar 2017 21:55:50 +0000 (14:55 -0700)]
i965: Port gen6+ 3DSTATE_WM to genxml.

Emit 3DSTATE_WM on Gen6+ using brw_batch_emit helper, that uses pack
structs from genxml.

v2:
   - Use render_bo helper to setup brw_address (Kristian)
   - Remove TODO and use BRW_PSCDEPTH_OFF.
v3:
   - A couple of style fixes (Ken)
   - Enable RASTRULE_UPPER_RIGHT on gen6+ instead of gen8+ (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen7+ 3DSTATE_PS to genxml.
Rafael Antognolli [Tue, 21 Mar 2017 20:08:05 +0000 (13:08 -0700)]
i965: Port gen7+ 3DSTATE_PS to genxml.

Emit 3DSTATE_PS on Gen7+ using brw_batch_emit helper, that uses pack
structs from genxml.

v2:
   - Use render_bo helper to setup brw_address (Kristian)
v3:
   - Style fixes and code cleanup (Ken)
v4:
   - More style fixes and code cleanup missed in v3

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen7+ 3DSTATE_SOL to genxml.
Rafael Antognolli [Tue, 21 Mar 2017 14:30:03 +0000 (07:30 -0700)]
i965: Port gen7+ 3DSTATE_SOL to genxml.

Emit 3DSTATE_SOL on Gen7+ using brw_batch_emit helper, that uses pack
structs from genxml.

v2:
   - Add helpers to assign struct brw_address (Kristian)
v3:
   - Rename MOCS -> SOBufferMOCS
   - Do not re-declare MOCS macros (Ken).
   - Style and code reorganization (Ken).

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Remove calculate_attr_overrides.
Rafael Antognolli [Mon, 20 Mar 2017 18:12:25 +0000 (11:12 -0700)]
i965: Remove calculate_attr_overrides.

This function now lives inside genX_state_upload.c.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port Gen7+ 3DSTATE_SBE state to genxml.
Rafael Antognolli [Mon, 20 Mar 2017 17:32:53 +0000 (10:32 -0700)]
i965: Port Gen7+ 3DSTATE_SBE state to genxml.

Emit 3DSTATE_SBE on Gen7+ using brw_batch_emit helper, that uses pack
structs from genxml.

v2: - Use ACTIVE_COMPONENT_XYZW from gen9.xml.
v3: - Style fixes (Ken)
v4: #undef unconditionally (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port gen6+ 3DSTATE_SF to genxml.
Rafael Antognolli [Fri, 17 Mar 2017 17:23:45 +0000 (10:23 -0700)]
i965: Port gen6+ 3DSTATE_SF to genxml.

Emit sf state on Gen6+ using brw_batch_emit helper, using pack structs
from genxml.

v3:
   - Reorganize code and reduce #if/#endif's (Ken)
   - Style fixes (Ken)
   - Always set AALINEDISTANCE_TRUE (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Add brw_get_line_width_float.
Rafael Antognolli [Wed, 26 Apr 2017 23:27:13 +0000 (16:27 -0700)]
i965: Add brw_get_line_width_float.

That helper function returns the line width as a float, and is then used
by brw_get_line_width to return the fixed point width.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port Gen8+ 3DSTATE_RASTER state to genxml.
Rafael Antognolli [Thu, 16 Mar 2017 18:39:31 +0000 (11:39 -0700)]
i965: Port Gen8+ 3DSTATE_RASTER state to genxml.

Emits 3DSTATE_RASTER from genX_state_upload.c using pack structs from
genxml.

v3:
   - Style fixes (Ken)

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port Gen6+ 3DSTATE_CLIP state to genxml.
Rafael Antognolli [Thu, 16 Mar 2017 00:08:26 +0000 (17:08 -0700)]
i965: Port Gen6+ 3DSTATE_CLIP state to genxml.

Emit clip state on Gen6+ using brw_batch_emit helper, using pack structs
from genxml.

v3:
   - Lots style fixes (Ken)
   - Do not set CullTestEnableBitMask on Gen8+ (Ken)
v4:
   - Do not include brw_defines_common.h.
v5 (Ken): s/BRW_NEW_WM_PROG_DATA/BRW_NEW_FS_PROG_DATA/

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Port Gen6+ DEPTH_STENCIL state to genxml.
Kenneth Graunke [Wed, 8 Mar 2017 05:54:24 +0000 (21:54 -0800)]
i965: Port Gen6+ DEPTH_STENCIL state to genxml.

This emits 3DSTATE_WM_DEPTH_STENCIL on Gen8+ or DEPTH_STENCIL_STATE
(and the relevant pointer packets) on Gen6-7.5 from a single function.

v3:
   - Watch for BRW_NEW_BATCH too on gen < 8 (Ken)

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Get real per-gen atom lists
Kenneth Graunke [Mon, 13 Mar 2017 22:36:43 +0000 (15:36 -0700)]
i965: Get real per-gen atom lists

Make atoms initalization compile conditionally based on the target
platform.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
7 years agoi965: Add genxml related plumbing in a new genX_state_upload.c file.
Kenneth Graunke [Wed, 8 Mar 2017 05:42:30 +0000 (21:42 -0800)]
i965: Add genxml related plumbing in a new genX_state_upload.c file.

v3 (Rafael): Drop aub parameter
v4 (Ken): Squash in gen4/g45 automake fixes

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
7 years agoi965: Drop "Destination Element Offset" from Ironlake SGVs.
Kenneth Graunke [Fri, 28 Apr 2017 21:09:24 +0000 (14:09 -0700)]
i965: Drop "Destination Element Offset" from Ironlake SGVs.

The Ironlake documentation is terrible, so it's unclear whether or not
this field exists there.  It definitely doesn't exist on Sandybridge
and later.  It definitely does exist on G45.

We haven't been setting it for our normal vertex attributes - just
the SGVs (VertexID, InstanceID, BaseVertex, BaseInstance, DrawID).
We should be consistent.  My guess is that it isn't necessary and
doesn't exist - this patch drops it from the SGVs elements, making
them follow the behavior of most attributes.

Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
7 years agogenxml: Fix 3DSTATE_DEPTH_BUFFER length on gen5.
Rafael Antognolli [Thu, 4 May 2017 00:53:35 +0000 (17:53 -0700)]
genxml: Fix 3DSTATE_DEPTH_BUFFER length on gen5.

The hardware docs are wrong, but the length used in the xml is also
wrong.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoradeonsi: constify a bunch of the perfcounter structs.
Dave Airlie [Tue, 2 May 2017 22:40:41 +0000 (08:40 +1000)]
radeonsi: constify a bunch of the perfcounter structs.

This moves the structs from the data segment to the rodata segment,
which seems like the more correct place for them.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
7 years agost/glsl_to_tgsi: remove unrequired tgsi_get_opcode_info() call
Timothy Arceri [Wed, 3 May 2017 00:48:06 +0000 (10:48 +1000)]
st/glsl_to_tgsi: remove unrequired tgsi_get_opcode_info() call

This is already set for the instruction at initialisation.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
7 years agomesa: make _mesa_accum() static
Timothy Arceri [Wed, 3 May 2017 03:34:42 +0000 (13:34 +1000)]
mesa: make _mesa_accum() static

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
7 years agomesa: tidy up accum.h
Timothy Arceri [Wed, 3 May 2017 03:33:58 +0000 (13:33 +1000)]
mesa: tidy up accum.h

These were unused.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
7 years agomesa/varray: make use of dispatch KHR_no_error support
Timothy Arceri [Thu, 27 Apr 2017 04:56:44 +0000 (14:56 +1000)]
mesa/varray: make use of dispatch KHR_no_error support

Make use of dispatch KHR_no_error support for varray functions.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoglapi: add KHR_no_error support to dispatch table generation
Timothy Arceri [Thu, 27 Apr 2017 03:32:43 +0000 (13:32 +1000)]
glapi: add KHR_no_error support to dispatch table generation

This will allows us to create no error versions of functions
noted by a _no_error suffix. We also need to set a no_error
attribute equal to "true" in the xml.

V3: stop the no_error attribute being overwritten when functions
    alias another.
V2: tidy up suggested by Nicolai.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
7 years agoradv: Don't use FLAT_SHADE for constants.
Bas Nieuwenhuizen [Wed, 3 May 2017 17:52:12 +0000 (19:52 +0200)]
radv: Don't use FLAT_SHADE for constants.

Setting both offset to 0x20 and flat shade results in passthrough
mode instead of the constant.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Fixes: f205e19e4f8 "radv/ac: eliminate unused vertex shader outputs. (v2)"
7 years agoi965: Move MOCS macros to brw_context.h.
Rafael Antognolli [Fri, 28 Apr 2017 16:02:31 +0000 (09:02 -0700)]
i965: Move MOCS macros to brw_context.h.

These macros are defined in brw_defines.h, which contains a lot of
macros that conflict with autogenerated code from genxml. But we need to
use them (the MOCS macros) in some of that same genxml code.

Moving them to brw_context.h solves that problem and we don't have to
include brw_defines.h.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoanv: Use BRW_BARYCENTRIC_NONPERSPECTIVE_BITS from common header.
Rafael Antognolli [Mon, 24 Apr 2017 18:25:07 +0000 (11:25 -0700)]
anv: Use BRW_BARYCENTRIC_NONPERSPECTIVE_BITS from common header.

In a previous patch some enums were split out from brw_eu_defines.h, so
they could be used by genxml based code. anv can also benefit from this.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoi965: Move enums to brw_compiler.h.
Rafael Antognolli [Tue, 2 May 2017 16:20:02 +0000 (09:20 -0700)]
i965: Move enums to brw_compiler.h.

These enums live inside struct brw_wm_prog_data, so it makes sense to
keep them in the same header. It also allows to use them without
including brw_eu_defines.h.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Update 3DSTATE_LINE_STIPPLE xml on gen6.
Rafael Antognolli [Tue, 2 May 2017 17:01:15 +0000 (10:01 -0700)]
genxml: Update 3DSTATE_LINE_STIPPLE xml on gen6.

From the PRM, Line Stipple Inverse Repeat Count is on dw2, bits 31:16,
format U1.13.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Normalize xml for 3DSTATE_CC_STATE_POINTERS.
Rafael Antognolli [Wed, 19 Apr 2017 23:13:20 +0000 (16:13 -0700)]
genxml: Normalize xml for 3DSTATE_CC_STATE_POINTERS.

   - "COLOR_CALC_STATE Change" -> "Color Calc State Pointer Valid"
   - "Pointer to COLOR_CALC_STATE" -> "Color Calc State Pointer"
   - "BackFace" -> "Backface"

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Normalize xml for 3DSTATE_MULTISAMPLE.
Rafael Antognolli [Wed, 19 Apr 2017 23:04:12 +0000 (16:04 -0700)]
genxml: Normalize xml for 3DSTATE_MULTISAMPLE.

Name the options to "Pixel Location":
   - PIXLOC_CENTER -> CENTER
   - PIXLOC_UL_CORNER -> UL_CORNER

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Rename "Function Enable" to "Enable".
Rafael Antognolli [Fri, 31 Mar 2017 22:30:49 +0000 (15:30 -0700)]
genxml: Rename "Function Enable" to "Enable".

Rename that field name on genxml for:
   - 3DSTATE_GS - gen6+
   - 3DSTATE_DS - gen7+
   - 3DSTATE_HS - gen7+

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Clip guardbands are float, not int.
Rafael Antognolli [Thu, 30 Mar 2017 17:36:25 +0000 (10:36 -0700)]
genxml: Clip guardbands are float, not int.

This makes genxml create the right struct types, and generate the right
batch commands.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: 3DSTATE_VS rename Function Enable to Enable.
Rafael Antognolli [Wed, 22 Mar 2017 23:26:07 +0000 (16:26 -0700)]
genxml: 3DSTATE_VS rename Function Enable to Enable.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Make "Reorder Mode" fields consistent.
Kenneth Graunke [Wed, 7 Sep 2016 20:46:57 +0000 (13:46 -0700)]
genxml: Make "Reorder Mode" fields consistent.

Both GS and SOL have these fields.  Some were ReorderEnable = true,
some were ReorderMode = REORDER_TRAILING, and some were just TRAILING.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
7 years agogenxml: Add alias for MOCS.
Rafael Antognolli [Mon, 20 Mar 2017 23:27:40 +0000 (16:27 -0700)]
genxml: Add alias for MOCS.

Use an alias, so we can set the same value as the #define's.

v3:
   - Call it "SO Buffer MOCS" to follow the most common naming scheme.
   - Add alias for gen7 and gen75 too (Ken).

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Add missing field values to 3DSTATE_SBE.
Rafael Antognolli [Mon, 24 Apr 2017 18:03:14 +0000 (11:03 -0700)]
genxml: Add missing field values to 3DSTATE_SBE.

Fill out "Attribute Active Component Format" possible values.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Update xml for 3DSTATE_SF.
Rafael Antognolli [Fri, 31 Mar 2017 22:25:20 +0000 (15:25 -0700)]
genxml: Update xml for 3DSTATE_SF.

 - Normalize "Anti-Aliasing Enable"
 - Add "Multisample Rasterization Mode" constants
 - Rename "Use Point Width on Vertex" to "Vertex"
 - Rename "Use Point Width from State" to "State"

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Rename clip enable property.
Rafael Antognolli [Thu, 16 Mar 2017 00:07:10 +0000 (17:07 -0700)]
genxml: Rename clip enable property.

There are two variants:
   - Clip Enable
   - CLIP Enable (on gen6)

Rename everything to Clip Enable.

Signed-off-by: Rafael Antognolli <rafael.antognolli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agogenxml: Fill out Gen4, Gen45 and Gen5 XML
Louis-Francis Ratté-Boulianne [Thu, 20 Apr 2017 22:21:38 +0000 (15:21 -0700)]
genxml: Fill out Gen4, Gen45 and Gen5 XML

Add some more details to Gen4 and Gen45 and add what is needed
in Gen5 XML. This commit overwrite the previous work done on Gen4
and Gen45 as it contains more instructions and fixes some mistakes.
However, comments (dword boundaries) are lost in the process.

v3:
   - Set the type of some fields, instead of prefix. Also fix the
     SAMPLER_BORDER_COLOR_STATE fields of gen5.xml.

Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
7 years agoanv: Implement VK_KHX_external_semaphore_fd
Jason Ekstrand [Thu, 16 Feb 2017 01:25:46 +0000 (17:25 -0800)]
anv: Implement VK_KHX_external_semaphore_fd

This implementation allocates a 4k BO for each semaphore that can be
exported using OPAQUE_FD and uses the kernel's already-existing
synchronization mechanism on BOs.

Reviewed-by: Chad Versace <chadversary@chromium.org>
7 years agoanv: Pull the guts of cmd_buffer_execbuf into a helper
Jason Ekstrand [Tue, 28 Feb 2017 00:41:53 +0000 (16:41 -0800)]
anv: Pull the guts of cmd_buffer_execbuf into a helper

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
7 years agoanv: Implement VK_KHX_external_semaphore
Jason Ekstrand [Thu, 16 Feb 2017 00:06:42 +0000 (16:06 -0800)]
anv: Implement VK_KHX_external_semaphore

Reviewed-by: Chad Versace <chadversary@chromium.org>
7 years agoanv: Implement VK_KHX_external_semaphore_capabilities
Jason Ekstrand [Thu, 16 Feb 2017 00:00:05 +0000 (16:00 -0800)]
anv: Implement VK_KHX_external_semaphore_capabilities

This just stubs things out.  Real external semaphore support will come
with VK_KHX_external_semaphore_fd.

Reviewed-by: Chad Versace <chadversary@chromium.org>
7 years agoanv: Add a real semaphore struct
Jason Ekstrand [Wed, 15 Feb 2017 23:35:38 +0000 (15:35 -0800)]
anv: Add a real semaphore struct

It's just a dummy for now, but we'll flesh it out as needed for external
semaphores.

Reviewed-by: Chad Versace <chadversary@chromium.org>
7 years agoradeonsi/gfx9: fix gl_ViewportIndex
Marek Olšák [Mon, 1 May 2017 15:34:41 +0000 (17:34 +0200)]
radeonsi/gfx9: fix gl_ViewportIndex

v2: remove unnecessary LLVMBuildAnd calls

Cc: 17.1 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>