Emil Velikov [Thu, 25 Aug 2016 11:15:13 +0000 (12:15 +0100)]
egl/dri2: check if the EGL API is valid before adding it to ClientAPIs
In the rather unlikely case that the API is considered invalid, don't
add it to the (supported) ClientAPIs bitmask.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
---
Strictly speaking we only need this in the Android case for OpenGL.
Adding it everywhere doesn't hurt us since the compiler will const
propagate and optimise/remove these.
Emil Velikov [Thu, 25 Aug 2016 11:08:07 +0000 (12:08 +0100)]
egl/android: annotate static const data as such
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Emil Velikov [Thu, 25 Aug 2016 11:02:07 +0000 (12:02 +0100)]
egl: treat EGL_OPENGL_API as invalid on Android
At the moment one can use OpenGL in eglBindAPI() only to clear the
EGL_OPENGL_BIT from RenderableType and Conformant for _each_ config.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Ilia Mirkin [Sun, 28 Aug 2016 02:49:41 +0000 (22:49 -0400)]
nouveau: make color/depth bpp match for pre-nv10 chips
This avoids generating fbconfigs whose winsys framebuffers will be
incomplete (see nouveau_check_framebuffer_complete).
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Ilia Mirkin [Sat, 27 Aug 2016 23:51:29 +0000 (19:51 -0400)]
nouveau: always enable at least one RC
Experimentally, this is required for glxgears and others to display the
proper colors. This is also what the code used to do before the
referenced commit.
Fixes:
c703658b396 (mesa: Drop _EnabledUnits.)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
Ilia Mirkin [Sat, 27 Aug 2016 23:46:25 +0000 (19:46 -0400)]
nouveau: allow NV3x's to be used with nouveau_vieux
NV34 and possibly other NV3x hardware has the capability of exposing the
NV25 graph class. This allows forcing nouveau_vieux to be used instead
of the gallium driver, primarily for testing purposes. (Among other
things, NV2x only ever came as AGP or inside an Xbox, never PCI/PCIe).
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Ilia Mirkin [Tue, 30 Aug 2016 04:16:17 +0000 (00:16 -0400)]
nvc0: undo overzealous enum usage
Commit
7413625ad3 flipped a few functions too many to use
pipe_shader_type. These functions actually take an integer that does not
correspond 1:1 with the enum.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Brian Paul [Fri, 26 Aug 2016 22:25:39 +0000 (16:25 -0600)]
svga: fix a texture readback bug
Backing views/surfaces are used to handle the case when a resource is
bound both as a render target and as a sampler source (such as when
doing auto mipmap generation).
This patch fixes a bug where mapping a resource (to do a glReadPixels)
was reading the stale data in the original surface rather than the
backing surface which was rendered to.
We need to propagate the backing resource (which we rendered to) back
to the original resource before we read from it. The problem was the
svga_propagate_rendertargets() function was examining the wrong surface
views.
This fixes the "poc9" test described in VMware bug 1686661.
Also tested with Piglit, Cinebench, Lightsmark, etc.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Brian Paul [Fri, 26 Aug 2016 15:53:47 +0000 (09:53 -0600)]
svga: move surface propagation code into new function
Put new svga_propagate_rendertargets() function where all the other
surface propagation code lives.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Brian Paul [Mon, 29 Aug 2016 17:18:18 +0000 (11:18 -0600)]
mesa: fix format conversion bug in get_tex_rgba_uncompressed()
We need to set the need_convert flag with each loop iteration, not
just when the rgba pointer is null.
Bug reported by Markus Müller <mueller@imfusion.de> on mesa-users list.
Fixes new piglit arb_texture_float-get-tex3d test.
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Dave Airlie [Fri, 13 May 2016 06:49:02 +0000 (16:49 +1000)]
radeonsi: add support for cull distances. (v1.1)
This should be all that is required for cull distances to work
on radeonsi.
v1.1: whitespace cleanup, add docs fix clipdist_mask usage.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Timothy Arceri [Mon, 29 Aug 2016 02:13:52 +0000 (12:13 +1000)]
spirv: replace assert with unreachable
Fixes uninitialised warning for coord_components.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Jason Ekstrand [Tue, 26 Jul 2016 18:47:05 +0000 (11:47 -0700)]
isl/state: Add some asserts about format capabilities
This keeps invalid surface states from leaking through and potentially
hanging the GPU. We shouldn't actually be hitting this on a regular basis,
but a helpful assert is better than a hang.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Jason Ekstrand [Wed, 24 Aug 2016 00:13:07 +0000 (17:13 -0700)]
intel/blorp: Add a format parameter to blorp_fast_clear
This allows us to use the actual render format as opposed to the texture
format. I don't know that the hardware actually cares in the case of fast
clears, but it certainly seems more correct.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 11:27:18 +0000 (04:27 -0700)]
i965: Move blorp into src/intel/blorp
At this point, blorp is completely driver agnostic and can be safely moved
into its own folder. Soon, we hope to start using it for doing blits in
the Vulkan driver.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 12:43:29 +0000 (05:43 -0700)]
i965/blorp: Remove the remaining brw prefixes from the blorp.h API
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 11:30:25 +0000 (04:30 -0700)]
i965/blorp: Use isl_format_get_depth_format for setting depth formats
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 11:28:31 +0000 (04:28 -0700)]
i965: Move the type_size function declartaions to brw_nir.h
Signed-of-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Jason Ekstrand [Fri, 19 Aug 2016 10:53:33 +0000 (03:53 -0700)]
i965: Move get_fast_clear_rect to blorp_clear.c
This has been the only caller since we deleted the meta fast clear code.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 10:49:45 +0000 (03:49 -0700)]
i965: Roll brw_get_ccs_resolve_rect into blorp_ccs_resolve
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 08:58:41 +0000 (01:58 -0700)]
i965/blorp: Get rid of most brw and mesa includes
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 10:15:41 +0000 (03:15 -0700)]
i965: Move the hiz_op enum to blorp
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 09:23:04 +0000 (02:23 -0700)]
i965/blorp: Add a fast_clear_op enum
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 08:42:31 +0000 (01:42 -0700)]
i965/blorp: Make blorp_addres::buffer a void*
The Vulkan driver doesn't use libdrm so we don't want to bake that in.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 07:54:56 +0000 (00:54 -0700)]
i965/blorp: Get rid of brw_context
This commit switches all of blorp from taking a brw_context to taking a
blorp_context and, where useful, a void *batch. In the GL driver, we only
have one active batch at a time so the brw_context *is* the batch but in
Vulkan, batch will point to the anv_cmd_buffer in which we are building
instructions.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 07:49:18 +0000 (00:49 -0700)]
i965/blorp: Take a blorp_context in compile_nir_shader
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 19 Aug 2016 07:37:38 +0000 (00:37 -0700)]
i965/meta_util: Take an isl_device in get_fast_clear_rect
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 17:02:03 +0000 (10:02 -0700)]
i965/blorp: Add an "exec" function pointer to blorp_context
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Tue, 23 Aug 2016 23:49:08 +0000 (16:49 -0700)]
i965/blorp: Remove some i965-isms from genX_blorp_exec.h
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 16:44:45 +0000 (09:44 -0700)]
i965/blorp: Move the guts of brw_blorp_exec into genX_blorp_exec.c
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 16:36:58 +0000 (09:36 -0700)]
i965/blorp: Pull the guts of blorp_exec into a driver-agnostic header
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 15:31:53 +0000 (08:31 -0700)]
i965/blorp/exec: Refactor to use a new blorp_batch struct
This gets rid of brw_context throughout the core of the state setup code.
Instead, it is replaced with blorp_batch which contains a pointer to the
blorp_context and a void* that the driver can use for its own blorp data.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 13:36:06 +0000 (06:36 -0700)]
i965/blorp: Add a helper for allocating binding tables and surface states
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 13:29:51 +0000 (06:29 -0700)]
i965/blorp: Use BT_INDEX enums for setting up the binding table
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 13:29:35 +0000 (06:29 -0700)]
i965/blorp: Shorten binding table index enum names
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 09:57:33 +0000 (02:57 -0700)]
i965/blorp/genX: Add a blorp_surface_reloc helper
Previously, we passed the buffer address (as per the latest offset from the
kernel) to ISL to use when it filled out the surface state. We then called
drm_intel_bo_emit_reloc() to add the relocation to the list. The newly
added blorp_surface_reloc helper adds the relocation to the list and then
writes the buffer address directly into the surface state.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Thu, 18 Aug 2016 09:19:29 +0000 (02:19 -0700)]
i965/blorp: Use blorp_address in brw_blorp_surface instead of bo+offset
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 16:42:18 +0000 (09:42 -0700)]
i965/blorp: Pull emit_surface_state into genX_blorp_exec.c
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 16:31:27 +0000 (09:31 -0700)]
i965/blorp: Add driver mocs settings to the context
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 15:08:36 +0000 (08:08 -0700)]
i965/blorp/genX: Move emit_urb_config into another helper
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 15:04:43 +0000 (08:04 -0700)]
i965/blorp: Use gen6_upload_urb
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 15:01:01 +0000 (08:01 -0700)]
i965/gen6: Refactor gen6_upload_urb
This splits it into two functions very similar to gen7_upload_urb.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 13:55:59 +0000 (06:55 -0700)]
i965/blorp/genX: Pull emit_3dstate_multisample into a helper
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Wed, 17 Aug 2016 13:37:59 +0000 (06:37 -0700)]
i965/blorp/genX: Add helpers for allocating various bits of state
This pulls most of the brw-specific bits into helpers with generic names.
Later, those will become the driver hooks for generic code.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Jason Ekstrand [Fri, 26 Aug 2016 17:07:40 +0000 (10:07 -0700)]
i965/blorp: Expose the shader cache through function pointers
This sanitizes blorp's access to the i965 driver's shader cache by patching
it through the blorp_context. When we start using blorp in Vulkan, we will
simply have to implement such a caching interface in the Vulkan driver.
Note: In my first attempt at this, I simplified it down to a single
upload_shader entrypoint and implemented the caching inside of blorp. This
doesn't work, however, because the i965 driver will, on occation, dump its
entire cache and start over. When this happens, blorp needs to be able to
recompile its shaders and re-upload them. It's easiest to just expose the
caching interface.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Jason Ekstrand [Mon, 15 Aug 2016 22:07:22 +0000 (15:07 -0700)]
i965/blorp: Add a blorp_context struct and init/finish funcs
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Mauro Rossi [Sat, 27 Aug 2016 15:19:34 +0000 (17:19 +0200)]
android: intel: Flatten the makefile structure
Android porting of commit bebc1a1 "intel: Flatten the makefile structure"
Automake approach was followed, by moving makefiles a level up,
naming them Android.genxml.mk and Android.isl.mk,
performing the necessary adjustments to the paths,
adding src/intel/Android.mk and fixing mesa top level makefile.
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Jan Vesely [Sun, 28 Aug 2016 08:08:15 +0000 (04:08 -0400)]
clover: Use device cap to query pointer size instead of hardcoded 32bits
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97513
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Jan Vesely [Sun, 28 Aug 2016 08:06:28 +0000 (04:06 -0400)]
gallium: add cap to export device pointer size
v2: document the new cap
v3: fix 80 char limit in screen.rst
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
Brian Paul [Mon, 29 Aug 2016 16:15:36 +0000 (10:15 -0600)]
svga: s/unsigned/enum pipe_shader_type/
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Jordan Justen [Sat, 27 Aug 2016 21:13:23 +0000 (14:13 -0700)]
i965/hsw: Enable ARB_ES3_1_compatibility extension
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Rhys Kidd [Sat, 27 Aug 2016 16:05:31 +0000 (12:05 -0400)]
r600g: Clean up defined magic numbers for TGSI opcodes
Small code clean up that removes magic numbers where a TGSI
opcode has been defined.
No functional change expected as each opcode is unsupported on
the respective hardware.
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: James Harvey <lothmordor@gmail.com>
Rhys Kidd [Sat, 27 Aug 2016 16:05:30 +0000 (12:05 -0400)]
r600g: Avoid duplicated initialization of TGSI_OPCODE_DFMA
As reported by Clang, TGSI_OPCODE_DFMA (defined magic number 118) is
currently initialized twice for Cayman and Evergreen.
When Jan Vesely added double precision FMA opcode it did make sense
to locate it immediately after TGSI_OPCODE_DMAD, although this is
out of order.
This change cleans up the prior magic number definition and ensures
any later reordering of this struct will not create problems.
Prior change was:
commit
015e2e0fce3eea7884f8df275c2fadc35143a324
Author: Jan Vesely <jan.vesely@rutgers.edu>
Date: Sat Jul 2 16:14:54 2016 -0400
r600g: Add double precision FMA ops
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96782
Fixes:
54c4d525da7c7fc1e103d7a3e6db015abb132d5d ("r600g: Enable FMA on chips that support it")
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Tested-by: James Harvey <lothmordor@gmail.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: James Harvey <lothmordor@gmail.com>
Rhys Kidd [Sat, 27 Aug 2016 15:25:44 +0000 (11:25 -0400)]
i915g: Fix typo in i915_translate_instruction()
Noticed this error in a debug message whilst reviewing
https://bugs.freedesktop.org/show_bug.cgi?id=97477
This patch doesn't go towards fixing that bug, but at
least may clarify future debug output.
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Eric Anholt [Fri, 26 Aug 2016 20:57:09 +0000 (13:57 -0700)]
vc4: Handle discards while in control flow.
I missed this while adding loop support because the discard test inside a
loop was crashing before, anyway. Fixes piglit glsl-fs-discard-04.
Eric Anholt [Fri, 26 Aug 2016 23:38:15 +0000 (16:38 -0700)]
vc4: Mark when we add discards while lowering blend state.
Eric Anholt [Fri, 26 Aug 2016 20:45:47 +0000 (13:45 -0700)]
nir: Update shader info when adding discards
vc4 is about to start using the shader info field to set up discard
handling.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tim Rowley [Thu, 25 Aug 2016 21:23:20 +0000 (16:23 -0500)]
swr: [rasterier core] fix GetRasterizerFunc selection
Only rasterize scissor edges if one or more scissor/viewport
rects are not hottile aligned.
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Thu, 25 Aug 2016 18:00:43 +0000 (13:00 -0500)]
swr: [rasterizer core] whitespace cleanup
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Thu, 25 Aug 2016 17:59:55 +0000 (12:59 -0500)]
swr: [rasterizer jitter] reimplement SCATTERPS
Implement SCATTERPS as a dynamic loop based on mask set bits
instead of a static compile time loop.
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Thu, 25 Aug 2016 16:24:14 +0000 (11:24 -0500)]
swr: [rasterizer core] upper left rule for scissors
Fixes upper left rule for scissors and viewport/scissor macrotile alignment.
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Tue, 23 Aug 2016 20:24:09 +0000 (15:24 -0500)]
swr: [rasterizer scripts] undef DEFINE_KNOB after usage
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Mon, 22 Aug 2016 20:30:08 +0000 (15:30 -0500)]
swr: [rasterizer core] minor cleanup to thread initialization
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Mon, 22 Aug 2016 16:49:48 +0000 (11:49 -0500)]
swr: [rasterizer core] remove KNOB_MAX_THREADS
Use dynamic memory allocation for per-thread data
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Thu, 18 Aug 2016 18:12:48 +0000 (13:12 -0500)]
swr: [rasterizer core] track guardbands per viewport rect
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tim Rowley [Thu, 18 Aug 2016 15:56:15 +0000 (10:56 -0500)]
swr: [rasterizer core] per-primitive viewports/scissors
- use per-primitive viewports throughout the pipeline.
- track whether all available scissor rects are tile aligned.
Causes failures, so not taken into account when choosing rasterizer yet.
Signed-off-by: Tim Rowley <timothy.o.rowley@intel.com>
Tom Stellard [Fri, 26 Aug 2016 19:49:13 +0000 (19:49 +0000)]
radeonsi: Don't use global variables for tess lds
We were allocating global variables for the maximum LDS size
which made the compiler think we were using all of LDS, which
isn't the case.
Reviewed-By: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Roland Scheidegger [Mon, 29 Aug 2016 16:15:08 +0000 (18:15 +0200)]
softpipe: (trivial) honor render_condition_enabled for clear_rt/clear_ds
Roland Scheidegger [Mon, 29 Aug 2016 16:14:49 +0000 (18:14 +0200)]
llvmpipe: (trivial) honor render_condition_enabled for clear_rt/clear_ds
Kai Wasserbäch [Sat, 27 Aug 2016 10:08:00 +0000 (04:08 -0600)]
gallium: Use enum pipe_shader_type in set_shader_images()
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Kai Wasserbäch [Sat, 27 Aug 2016 10:08:00 +0000 (04:08 -0600)]
gallium: Use enum pipe_shader_type in set_shader_buffers()
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Kai Wasserbäch [Sat, 27 Aug 2016 10:08:00 +0000 (04:08 -0600)]
gallium: Use enum pipe_shader_type in set_sampler_views()
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Kai Wasserbäch [Sat, 27 Aug 2016 10:08:00 +0000 (04:08 -0600)]
gallium: Use enum pipe_shader_type in bind_sampler_states() (v2)
v1 → v2:
- Fixed indentation (noted by Brian Paul)
- Removed second assert from nouveau's switch statements (suggested by
Brian Paul)
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 19 Aug 2016 23:22:39 +0000 (01:22 +0200)]
gallium/radeon: clear dirty_level_mask when discarding CMASK
This fixes: GL45-CTS.texture_barrier.*
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Marek Olšák [Wed, 24 Aug 2016 17:08:01 +0000 (19:08 +0200)]
tgsi/scan: remember sampler view types
Reviewed-by: Brian Paul <brianp@vmware.com>
Nayan Deshmukh [Fri, 26 Aug 2016 09:53:11 +0000 (15:23 +0530)]
st/vdpau: use temporary buffers while applying filters
Use temporary buffers so that we don't read and write to the
same surface at the same time. We don't need to use linear
layout now.
v2: rebase the patch against reverted change
Signed-off-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Christian König [Fri, 26 Aug 2016 07:56:18 +0000 (09:56 +0200)]
st/vdpau: Revert "change the order in which filters are applied(v3)"
This reverts commit
09dff7ae2e179d5a3490481762c6bd3d50430c9f.
Turned out this can cause some artifacts in the output. Let's revert
it for now until we have sorted out all issues.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
Iago Toral Quiroga [Fri, 26 Aug 2016 08:01:59 +0000 (10:01 +0200)]
i965/vec4: remove the generator hack for dual instanced GS
This hack was introduced in commit
03ac2c7223f7645e3:
i965/gs: Fix up gl_PointSize input swizzling for DUAL_INSTANCED gs
Specifically to fixup the code we emitted to deal with gl_PointSize inputs
in dual instance mode, where we were emitting a MOV to copy the point
size from .w (where the hardware delivers it) to .x (because code will
expect this to be a float). This meant that we were emitting a MOV
to an ATTR destination that could have a width of 4 (in dual instanced
mode) so it was necessary to fix the execution size and regioning of the
instruction.
Fortunately, Ken fixed this in
67c5d00273ca2:
i965/vec4/gs: Stop munging the ATTR containing gl_PointSize.
by using a WWWW swizzle instead of a MOV, and as the commit log in that
patch states, we no longer emit instructions with ATTR destinations, so
that makes the fixup code in the generator unnecessary.
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Timothy Arceri [Mon, 29 Aug 2016 02:03:47 +0000 (12:03 +1000)]
glsl: initialise pointer to NULL
Fixes uninitialised warning and covery defect.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ilia Mirkin [Sun, 28 Aug 2016 17:07:25 +0000 (13:07 -0400)]
Update Khronos-supplied headers to r33100
As retrieved from opengl.org and khronos.org. Maintained the APPLE hack
in GL/glext.h manually. Added gl32.h.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Dave Airlie <airlied@redhat.com>
Ilia Mirkin [Sat, 27 Aug 2016 22:02:48 +0000 (18:02 -0400)]
mesa: add EXT_texture_cube_map_array support
This is identical to OES_texture_cube_map_array support. dEQP has tests
which use this extension. Also it is part of AEP.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Ilia Mirkin [Sat, 27 Aug 2016 21:18:55 +0000 (17:18 -0400)]
mesa: remove OES_shader_io_blocks enable
This extension should just be available whenever ES 3.1 is available.
With the new extension verification infrastructure, it will only be
enable-able on a #version 310 es shader, rendering the original reason
for having a separate enable moot.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Ilia Mirkin [Sun, 28 Aug 2016 18:39:32 +0000 (14:39 -0400)]
main: use KHR_blend_equation_advanced enable for ES 3.2 availability
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Ilia Mirkin [Sun, 28 Aug 2016 23:21:12 +0000 (19:21 -0400)]
main: add missing EXTRA_END in OES_sample_variables get check
Fixes:
3002296cb68 (mesa: add GL_OES_shader_multisample_interpolation support)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Jose Fonseca [Sat, 27 Aug 2016 20:30:38 +0000 (21:30 +0100)]
scons: Take indirect gl_and_es_API.xml dependencies in consideration.
Same as
26a8f76ba1a0229ee3332eaa6f1aea89d617cf3d.
Trivial.
Ilia Mirkin [Sat, 27 Aug 2016 21:46:52 +0000 (17:46 -0400)]
docs: sort extensions in relnotes
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Jason Ekstrand [Thu, 25 Aug 2016 22:07:31 +0000 (15:07 -0700)]
isl: Allow multisampled array textures
This probably isn't the only thing that needs to be done to get
multisampled array textures working in Vulkan but I think this is all that
ISL really needs and it does fix 8 of the new CTS tests.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
Ian Romanick [Thu, 18 Aug 2016 08:21:21 +0000 (09:21 +0100)]
mesa/version: OpenGL ES 3.2 depends on OES_texture_cube_map_array
This has a separate enable from ARB_texture_cube_map_array.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Wed, 17 Aug 2016 09:26:25 +0000 (10:26 +0100)]
i965: Enable OES_texture_cube_map_array on Gen8+
These are the only platforms that current expose OES_geometry_shader.
Once OpenGL ES 3.1 and OES_geometry_shader are enabled on Gen7, this
extension can be enabled there as well.
Gen6 will never get OpenGL ES 3.1, so it will never get this
extension... even though it has the desktop OpenGL extension. Alas.
NOTE: This causes a failure on Gen8+ platforms in
ES3-CTS.gtf.GL3Tests.texture_storage.texture_storage_texture_targets.
The test only fails because it doesn't know that 0x9009 is a valid
value when the extension exists.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Wed, 17 Aug 2016 09:20:34 +0000 (10:20 +0100)]
mesa: Add support for OES_texture_cube_map_array
This has a separate enable flag because this extension also requires
OES_geometry_shader. It is possible that some drivers may support
OpenGL ES 3.1 and ARB_texture_cube_map but not support
OES_geometry_shader.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Thu, 18 Aug 2016 10:11:04 +0000 (11:11 +0100)]
mesa: Add and use _mesa_has_texture_cube_map_array helper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Thu, 18 Aug 2016 09:09:41 +0000 (10:09 +0100)]
mesa: Use _mesa_has_ARB_texture_cube_map_array instead of open-coding it
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Thu, 18 Aug 2016 08:57:54 +0000 (09:57 +0100)]
mesa: Cosmetic changes in legal_texobj_target
Use bool instead of GLboolean and constify ctx.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Thu, 18 Aug 2016 08:55:49 +0000 (09:55 +0100)]
mesa: Rearrange legal_texobj_target to look more like _mesa_legal_get_tex_level_parameter_target
This makes it a bit easier to add support for more features in different
APIs.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Wed, 17 Aug 2016 09:13:24 +0000 (10:13 +0100)]
glsl: Add and use has_texture_cube_map_array helper
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Wed, 17 Aug 2016 09:10:56 +0000 (10:10 +0100)]
glsl: Mark cube map array sampler types as reserved in GLSL ES 3.10
All the GLSL 4.x keywords were added to the list of reserved keywords
in GLSL ES 3.10. As far as I can tell, these are the only ones that
were missed.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Fri, 17 Jun 2016 03:35:44 +0000 (20:35 -0700)]
glsl: Silence unused parameter warning
glsl/lower_buffer_access.cpp:324:55: warning: unused parameter ‘var’ [-Wunused-parameter]
ir_variable *var,
^
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Mon, 23 May 2016 19:45:09 +0000 (12:45 -0700)]
i965: Enable GL_OES_geometry_shader on Gen8+
Gen7 can get this extension (and GL_OES_shader_io_blocks) as soon as the
rest of OpenGL ES 3.1 is enabled.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Tue, 24 May 2016 19:04:53 +0000 (12:04 -0700)]
glsl/linker: Fail linking on ES if uniform precision qualifiers don't match
When GL_OES_geometry_shader is enabled, this fixes
dEQP-GLES31.functional.shaders.linkage.geometry.uniform.rules.type_mismatch_1.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Ian Romanick [Mon, 23 May 2016 21:37:01 +0000 (14:37 -0700)]
glsl: Allow invocations layout qualifier with GL_OES_geometry_shader
Fixes
dEQP-GLES31.functional.geometry_shading.instanced.geometry_1_invocations
dEQP-GLES31.functional.geometry_shading.instanced.invocation_per_layer_2d_array
dEQP-GLES31.functional.geometry_shading.instanced.invocation_per_layer_2d_multisample_array
dEQP-GLES31.functional.geometry_shading.instanced.invocation_per_layer_3d
dEQP-GLES31.functional.geometry_shading.instanced.invocation_per_layer_cubemap
dEQP-GLES31.functional.geometry_shading.instanced.multiple_layers_per_invocation_2d_array
dEQP-GLES31.functional.geometry_shading.instanced.multiple_layers_per_invocation_2d_multisample_array
dEQP-GLES31.functional.geometry_shading.instanced.multiple_layers_per_invocation_3d
dEQP-GLES31.functional.geometry_shading.instanced.multiple_layers_per_invocation_cubemap
dEQP-GLES31.functional.geometry_shading.query.geometry_shader_invocations
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>