mesa.git
8 years agovk/0.210.0: Rework QueueFamilyProperties
Jason Ekstrand [Thu, 3 Dec 2015 00:20:40 +0000 (16:20 -0800)]
vk/0.210.0: Rework QueueFamilyProperties

8 years agovk/0.210.0: Rework result and structure type enums
Jason Ekstrand [Thu, 3 Dec 2015 00:14:58 +0000 (16:14 -0800)]
vk/0.210.0: Rework result and structure type enums

By and large, this is just moving enum values around.  However, it also
removed VK_UNSUPPORTED which we were returning a number of places.  Those
places now return VK_ERROR_INCOMPATABLE_DRIVER.

8 years agovk/0.210.0: Remove the VkShaderStage enum
Jason Ekstrand [Thu, 3 Dec 2015 00:08:13 +0000 (16:08 -0800)]
vk/0.210.0: Remove the VkShaderStage enum

This made for an unfortunately large amount of work since we were using it
fairly heavily internally.  However, gl_shader_stage does basically the
same things, so it's not too bad.

8 years agovk/0.210.0: Remove VkShader
Jason Ekstrand [Wed, 2 Dec 2015 22:35:07 +0000 (14:35 -0800)]
vk/0.210.0: Remove VkShader

8 years agovk/0.210.0: Rework memory property flags
Jason Ekstrand [Wed, 2 Dec 2015 18:39:15 +0000 (10:39 -0800)]
vk/0.210.0: Rework memory property flags

8 years agovk/0.210.0: Remove some unused enum values
Jason Ekstrand [Wed, 2 Dec 2015 18:30:56 +0000 (10:30 -0800)]
vk/0.210.0: Remove some unused enum values

8 years agovk/0.210.0: Update VkPipelineStageFlagBits
Jason Ekstrand [Wed, 2 Dec 2015 18:29:50 +0000 (10:29 -0800)]
vk/0.210.0: Update VkPipelineStageFlagBits

8 years agovk/0.210.0: Trivial function argument name change
Jason Ekstrand [Wed, 2 Dec 2015 18:27:29 +0000 (10:27 -0800)]
vk/0.210.0: Trivial function argument name change

8 years agovk/0.210.0: We now allocate command buffers; not create them
Jason Ekstrand [Wed, 2 Dec 2015 11:48:58 +0000 (03:48 -0800)]
vk/0.210.0: We now allocate command buffers; not create them

8 years agovk/0.210.0: Rename a parameter to GetImageSparseMemoryRequirements
Jason Ekstrand [Wed, 2 Dec 2015 11:34:43 +0000 (03:34 -0800)]
vk/0.210.0: Rename a parameter to GetImageSparseMemoryRequirements

8 years agovk/0.210.0: Delete three no longer existant entrypoints
Jason Ekstrand [Wed, 2 Dec 2015 11:33:20 +0000 (03:33 -0800)]
vk/0.210.0: Delete three no longer existant entrypoints

8 years agovk/0.210.0: Rework allocation to use the new pAllocator's
Jason Ekstrand [Wed, 2 Dec 2015 11:28:27 +0000 (03:28 -0800)]
vk/0.210.0: Rework allocation to use the new pAllocator's

8 years agovk/0.210.0: Use VkSampleCountFlagBits for sample counts
Jason Ekstrand [Tue, 1 Dec 2015 22:09:17 +0000 (14:09 -0800)]
vk/0.210.0: Use VkSampleCountFlagBits for sample counts

8 years agovk/0.210.0: Rework VkInstanceCreateInfo
Jason Ekstrand [Tue, 1 Dec 2015 21:58:25 +0000 (13:58 -0800)]
vk/0.210.0: Rework VkInstanceCreateInfo

8 years agovk/0.210.0: More function argument renaming
Jason Ekstrand [Tue, 1 Dec 2015 21:50:09 +0000 (13:50 -0800)]
vk/0.210.0: More function argument renaming

8 years agovk/0.210.0: Replace MemoryInput/OutputFlags with AccessFlags
Jason Ekstrand [Tue, 1 Dec 2015 21:39:28 +0000 (13:39 -0800)]
vk/0.210.0: Replace MemoryInput/OutputFlags with AccessFlags

8 years agovk/0.210.0: Rework render pass description structures
Jason Ekstrand [Tue, 1 Dec 2015 21:09:22 +0000 (13:09 -0800)]
vk/0.210.0: Rework render pass description structures

8 years agovk/0.210.0: More structure field renaming
Jason Ekstrand [Tue, 1 Dec 2015 20:52:56 +0000 (12:52 -0800)]
vk/0.210.0: More structure field renaming

8 years agovk/0.210.0: Get rid of VkImageAspect
Jason Ekstrand [Tue, 1 Dec 2015 20:19:11 +0000 (12:19 -0800)]
vk/0.210.0: Get rid of VkImageAspect

8 years agovk/0.210.0: Rework descriptor sets
Jason Ekstrand [Tue, 1 Dec 2015 20:05:21 +0000 (12:05 -0800)]
vk/0.210.0: Rework descriptor sets

8 years agovk/0.210.0: Rename parameters to memory binding/mapping functions
Jason Ekstrand [Tue, 1 Dec 2015 05:18:12 +0000 (21:18 -0800)]
vk/0.210.0: Rename parameters to memory binding/mapping functions

8 years agovk/0.210.0: Update to the new instance/device create structs
Jason Ekstrand [Tue, 1 Dec 2015 05:10:14 +0000 (21:10 -0800)]
vk/0.210.0: Update to the new instance/device create structs

8 years agovk/0.210.0: More trivial struct/enum changes
Jason Ekstrand [Tue, 1 Dec 2015 04:59:58 +0000 (20:59 -0800)]
vk/0.210.0: More trivial struct/enum changes

8 years agovk/0.210.0: Trivial flag enum updates
Jason Ekstrand [Tue, 1 Dec 2015 02:15:41 +0000 (18:15 -0800)]
vk/0.210.0: Trivial flag enum updates

8 years agovk/0.210.0: Rename ChannelFlags to ColorComponentFlags
Jason Ekstrand [Tue, 1 Dec 2015 02:12:55 +0000 (18:12 -0800)]
vk/0.210.0: Rename ChannelFlags to ColorComponentFlags

8 years agovk/0.210.0: s/raster/rasterization/
Jason Ekstrand [Tue, 1 Dec 2015 02:05:00 +0000 (18:05 -0800)]
vk/0.210.0: s/raster/rasterization/

8 years agovk/0.210.0: Don't allow chaining of description structs
Jason Ekstrand [Tue, 1 Dec 2015 01:54:51 +0000 (17:54 -0800)]
vk/0.210.0: Don't allow chaining of description structs

8 years agovk/0.210.0: More fun with flags fields
Jason Ekstrand [Tue, 1 Dec 2015 01:46:38 +0000 (17:46 -0800)]
vk/0.210.0: More fun with flags fields

8 years agovk/0.210.0: Make pCode a uint32_t pointer
Jason Ekstrand [Tue, 1 Dec 2015 01:30:38 +0000 (17:30 -0800)]
vk/0.210.0: Make pCode a uint32_t pointer

8 years agovk/0.210.0: Rename origin fields of VkViewport
Jason Ekstrand [Tue, 1 Dec 2015 01:26:32 +0000 (17:26 -0800)]
vk/0.210.0: Rename origin fields of VkViewport

8 years agovk/0.210.0: Move alphaToOne and alphaToCoverate to multisample state
Jason Ekstrand [Tue, 1 Dec 2015 01:20:49 +0000 (17:20 -0800)]
vk/0.210.0: Move alphaToOne and alphaToCoverate to multisample state

8 years agovk/0.210.0: Add flags fields to various pipeline create structs
Jason Ekstrand [Tue, 1 Dec 2015 01:13:19 +0000 (17:13 -0800)]
vk/0.210.0: Add flags fields to various pipeline create structs

8 years agovk/0.210.0: Change field names in vertex input structs
Jason Ekstrand [Tue, 1 Dec 2015 01:00:30 +0000 (17:00 -0800)]
vk/0.210.0: Change field names in vertex input structs

8 years agovk/0.210.0: Misc. no-op structure changes
Jason Ekstrand [Tue, 1 Dec 2015 00:42:12 +0000 (16:42 -0800)]
vk/0.210.0: Misc. no-op structure changes

The only non-trivial change is to sparse resources that we don't handle
anyway.

8 years agovk/0.210.0: Rename property pCount parameters
Jason Ekstrand [Tue, 1 Dec 2015 00:28:36 +0000 (16:28 -0800)]
vk/0.210.0: Rename property pCount parameters

8 years agovk/0.210.0: Rework sampler filtering and mode enums
Jason Ekstrand [Tue, 1 Dec 2015 00:21:38 +0000 (16:21 -0800)]
vk/0.210.0: Rework sampler filtering and mode enums

8 years agovk/0.210.0: Misc. function argument renames
Jason Ekstrand [Tue, 1 Dec 2015 00:10:02 +0000 (16:10 -0800)]
vk/0.210.0: Misc. function argument renames

8 years agovk/0.210.0: Rework copy/clear/blit API
Jason Ekstrand [Mon, 30 Nov 2015 22:52:38 +0000 (14:52 -0800)]
vk/0.210.0: Rework copy/clear/blit API

8 years agovk/0.210.0: Rework dynamic states
Jason Ekstrand [Mon, 30 Nov 2015 22:19:41 +0000 (14:19 -0800)]
vk/0.210.0: Rework dynamic states

8 years agovk/0.210.0: Rework color blending enums
Jason Ekstrand [Mon, 30 Nov 2015 21:49:28 +0000 (13:49 -0800)]
vk/0.210.0: Rework color blending enums

8 years agogen7/8/cmd_buffer: Inline vk_to_gen_swizzle
Jason Ekstrand [Mon, 30 Nov 2015 21:29:49 +0000 (13:29 -0800)]
gen7/8/cmd_buffer: Inline vk_to_gen_swizzle

It's currently unused on IVB so we get compiler warnings.

8 years agovk/0.210.0: Rework a few raster/input enums
Jason Ekstrand [Mon, 30 Nov 2015 21:28:09 +0000 (13:28 -0800)]
vk/0.210.0: Rework a few raster/input enums

8 years agovk/0.210.0: Rework texture view component mapping
Jason Ekstrand [Mon, 30 Nov 2015 21:06:12 +0000 (13:06 -0800)]
vk/0.210.0: Rework texture view component mapping

8 years agovk/0.210.0: Switch to the new VKAPI function decorations
Jason Ekstrand [Mon, 30 Nov 2015 20:21:19 +0000 (12:21 -0800)]
vk/0.210.0: Switch to the new VKAPI function decorations

While we're at it, we do a bunch of the VkResult -> void updates

8 years agovk/0.210.0: Rename CmdBuffer to CommandBuffer
Jason Ekstrand [Mon, 30 Nov 2015 19:48:08 +0000 (11:48 -0800)]
vk/0.210.0: Rename CmdBuffer to CommandBuffer

8 years agovk/0.210.0: A pile of minor enum updates
Jason Ekstrand [Mon, 30 Nov 2015 19:12:44 +0000 (11:12 -0800)]
vk/0.210.0: A pile of minor enum updates

8 years agovk/0.210.0: Switch to the new-style handle declarations
Jason Ekstrand [Mon, 30 Nov 2015 18:31:44 +0000 (10:31 -0800)]
vk/0.210.0: Switch to the new-style handle declarations

8 years agovk: Add connonical 0.170.2 and 0.210.0 headers
Jason Ekstrand [Mon, 30 Nov 2015 18:24:33 +0000 (10:24 -0800)]
vk: Add connonical 0.170.2 and 0.210.0 headers

This is in preparation for the API update

8 years agovk: Fix 3DSTATE_WM_DEPTH_STENCIL for gen8
Kristian Høgsberg Kristensen [Thu, 26 Nov 2015 18:11:52 +0000 (10:11 -0800)]
vk: Fix 3DSTATE_WM_DEPTH_STENCIL for gen8

This packet is a different size on gen8 and we hit an assertion when we
try to merge a gen9 size dword array from the pipeline with the gen8
sized array we create from dynamic state.

Use a static assert in the merge macro and fix this issue by using different
wm_depth_stencil arrays on gen8 and gen9.

8 years agovk: Add SKL support
Kristian Høgsberg Kristensen [Thu, 26 Nov 2015 06:27:01 +0000 (22:27 -0800)]
vk: Add SKL support

Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
8 years agovk: Make entrypoint generator output gen9 entry points
Kristian Høgsberg Kristensen [Tue, 15 Sep 2015 19:37:21 +0000 (12:37 -0700)]
vk: Make entrypoint generator output gen9 entry points

Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
8 years agovk: Add GEN9 pack header
Kristian Høgsberg Kristensen [Tue, 15 Sep 2015 19:26:24 +0000 (12:26 -0700)]
vk: Add GEN9 pack header

8 years agovk: Move all gen8 files to gen8 lib
Kristian Høgsberg Kristensen [Wed, 25 Nov 2015 22:13:53 +0000 (14:13 -0800)]
vk: Move all gen8 files to gen8 lib

8 years agoMerge remote-tracking branch 'mesa-public/master' into vulkan
Jason Ekstrand [Mon, 23 Nov 2015 22:03:47 +0000 (14:03 -0800)]
Merge remote-tracking branch 'mesa-public/master' into vulkan

This pulls in nir cloning and some much-needed upstream refactors.

8 years agoi965: Use NIR for lowering texture swizzle
Jason Ekstrand [Thu, 12 Nov 2015 02:41:37 +0000 (18:41 -0800)]
i965: Use NIR for lowering texture swizzle

Now that nir_lower_tex can do texture swizzle lowering, we can use that
instead of repeating more-or-less the same code in both backends.  This
both allows us to share code and means that things like the tg4
work-arounds are somewhat simpler because they don't have to take the
swizzle into account.

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
8 years agonir/lower_tex: Add support for lowering texture swizzle
Jason Ekstrand [Thu, 12 Nov 2015 02:30:31 +0000 (18:30 -0800)]
nir/lower_tex: Add support for lowering texture swizzle

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
8 years agonir: Add a tex_instr_is_query helper
Jason Ekstrand [Thu, 12 Nov 2015 02:30:09 +0000 (18:30 -0800)]
nir: Add a tex_instr_is_query helper

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
8 years agonir: Add a ssa_def_rewrite_uses_after helper
Jason Ekstrand [Thu, 12 Nov 2015 16:40:17 +0000 (08:40 -0800)]
nir: Add a ssa_def_rewrite_uses_after helper

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
8 years agonir: Use instr/if_rewrite in nir_ssa_def_rewrite_uses
Jason Ekstrand [Thu, 12 Nov 2015 05:13:26 +0000 (21:13 -0800)]
nir: Use instr/if_rewrite in nir_ssa_def_rewrite_uses

nir_ssa_def_rewrite_uses is one of the older helpers in NIR and predated
both of those.  Now it can be substantially simplified.

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
8 years agonir/validate: Validated dests after sources
Jason Ekstrand [Thu, 12 Nov 2015 18:38:12 +0000 (10:38 -0800)]
nir/validate: Validated dests after sources

Previously, if someone accidentally made an instruction that refers to its
own SSA destination, the validator wouldn't catch it.  The reason for this
is that it validated the destination too early and, by the time it got to
the source, the destination SSA value was already added to the set of seen
SSA values so it would assume that it came from some previous instruction.
By moving destination validation to be after source validation, the SSA
value is not in the list of seen values and the validator will catch
self-referential instructions.

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
8 years agoi965: Use nir_lower_tex for texture coordinate lowering
Jason Ekstrand [Wed, 11 Nov 2015 19:01:59 +0000 (11:01 -0800)]
i965: Use nir_lower_tex for texture coordinate lowering

Previously, we had a rescale_texcoords helper in the FS backend for
handling rescaling of texture coordinates.  Now that we can do variants in
NIR, we can use nir_lower_tex to do the rescaling for us.  This allows us
to delete the i965-specific code and gives us proper TEXTURE_RECTANGLE and
GL_CLAMP handling in vertex and geometry shaders.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
8 years agoi965/fs: Stomp the texture return type to UINT32 for resinfo messages
Jason Ekstrand [Wed, 11 Nov 2015 23:46:55 +0000 (15:46 -0800)]
i965/fs: Stomp the texture return type to UINT32 for resinfo messages

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
8 years agonir/lower_tex: Set the dest_type for txs instructions
Jason Ekstrand [Wed, 11 Nov 2015 20:01:20 +0000 (12:01 -0800)]
nir/lower_tex: Set the dest_type for txs instructions

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
8 years agonir/lower_tex: Report progress
Jason Ekstrand [Wed, 11 Nov 2015 18:46:09 +0000 (10:46 -0800)]
nir/lower_tex: Report progress

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
8 years agoi965: Move postprocess_nir to codegen time
Jason Ekstrand [Wed, 11 Nov 2015 18:04:43 +0000 (10:04 -0800)]
i965: Move postprocess_nir to codegen time

This allows us to insert NIR passes between initial NIR compilation and
optimization (link time) and actual backend code-gen.  In particular, it
will allow us to do shader variants in NIR and share some of that shader
variant code between backends.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
8 years agoi965/nir: Split shader optimization and lowering into three stages
Jason Ekstrand [Wed, 11 Nov 2015 17:40:51 +0000 (09:40 -0800)]
i965/nir: Split shader optimization and lowering into three stages

At the moment, brw_create_nir just calls the three stages in sequence so
there's not much difference.  Soon, however, we will want to start doing
variants in NIR at which point the postprocessing step will have to move
from shader create time to codegen time.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
8 years agoi965: Use ull immediates in brw_inst_bits
Jason Ekstrand [Mon, 23 Nov 2015 18:53:01 +0000 (10:53 -0800)]
i965: Use ull immediates in brw_inst_bits

This fixes a regression introduced in b1a83b5d1 that caused basically all
shaders to fail to compile on 32-bit platforms.

Reported-by: Mark Janes <mark.a.janes@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
8 years agodocs: add missed freedreno features to relnotes
Ilia Mirkin [Mon, 23 Nov 2015 17:31:59 +0000 (12:31 -0500)]
docs: add missed freedreno features to relnotes

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1" <mesa-stable@lists.freedesktop.org>
8 years agodocs: update relnotes with new freedreno/a4xx support
Ilia Mirkin [Mon, 23 Nov 2015 17:04:50 +0000 (12:04 -0500)]
docs: update relnotes with new freedreno/a4xx support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agosvga: Add ASTC formats to format table.
Jose Fonseca [Mon, 23 Nov 2015 16:45:28 +0000 (16:45 +0000)]
svga: Add ASTC formats to format table.

Fixes build.  Otherwise untested.

Trivial.

8 years agofreedreno/ir3: add support for a few gs5 ops
Ilia Mirkin [Sun, 22 Nov 2015 22:46:13 +0000 (17:46 -0500)]
freedreno/ir3: add support for a few gs5 ops

Tested on a4xx. This is part of the builtins added by ARB_gpu_shader5
and GLSL ES 3.10.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agottn: fix UMSB conversion
Ilia Mirkin [Sun, 22 Nov 2015 22:37:47 +0000 (17:37 -0500)]
ttn: fix UMSB conversion

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add ARB_texture_query_lod support
Ilia Mirkin [Sun, 22 Nov 2015 21:47:25 +0000 (16:47 -0500)]
freedreno/a4xx: add ARB_texture_query_lod support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agottn: add LODQ support
Ilia Mirkin [Sun, 22 Nov 2015 21:41:16 +0000 (16:41 -0500)]
ttn: add LODQ support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: re-emit program on dirty framebuffer
Ilia Mirkin [Sun, 22 Nov 2015 19:06:26 +0000 (14:06 -0500)]
freedreno/a4xx: re-emit program on dirty framebuffer

The program emit depends on certain fb details. Make sure those get
updated when the fb changes.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: use a factor of 32767 for snorm8 blending
Ilia Mirkin [Sun, 22 Nov 2015 19:03:29 +0000 (14:03 -0500)]
freedreno/a4xx: use a factor of 32767 for snorm8 blending

It appears that the hardware wants the integer to be scaled the same way
that the hardware representation is. snorm16 uses one of the float
factors, so this is only relevant for snorm8.

This fixes a number of subcases of
  bin/fbo-blending-formats GL_EXT_texture_snorm

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
8 years agofreedreno/a4xx: only compute texture offset once for the view
Ilia Mirkin [Sun, 22 Nov 2015 17:13:46 +0000 (12:13 -0500)]
freedreno/a4xx: only compute texture offset once for the view

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add ARB_texture_view support
Ilia Mirkin [Sun, 22 Nov 2015 02:24:48 +0000 (21:24 -0500)]
freedreno/a4xx: add ARB_texture_view support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add formats for ARB_texture_buffer_object_rgb32 support
Ilia Mirkin [Sun, 22 Nov 2015 01:33:23 +0000 (20:33 -0500)]
freedreno/a4xx: add formats for ARB_texture_buffer_object_rgb32 support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add ARB_texture_rgb10_a2ui support
Ilia Mirkin [Sun, 22 Nov 2015 00:26:34 +0000 (19:26 -0500)]
freedreno/a4xx: add ARB_texture_rgb10_a2ui support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add astc formats
Ilia Mirkin [Sat, 21 Nov 2015 16:49:03 +0000 (11:49 -0500)]
freedreno/a4xx: add astc formats

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agost/mesa: add astc support
Ilia Mirkin [Sat, 21 Nov 2015 17:19:52 +0000 (12:19 -0500)]
st/mesa: add astc support

This doesn't account for the ldr/hdr distinction... that will probably
have to be exposed via a separate cap. When relevant hardware appears,
this can be worked out.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
8 years agogallium: add ASTC formats
Ilia Mirkin [Sat, 21 Nov 2015 16:23:34 +0000 (11:23 -0500)]
gallium: add ASTC formats

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
8 years agogallium/util: remove the fake format helpers for bptc and etc2
Ilia Mirkin [Sat, 21 Nov 2015 15:44:00 +0000 (10:44 -0500)]
gallium/util: remove the fake format helpers for bptc and etc2

This was a silly hack that kept growing and growing. Instead, just write
NULLs for those functions. No need to have helpers that just assert(0)
when you call them.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
8 years agofreedreno/a4xx: support 16384 texels in buffer texture
Ilia Mirkin [Sat, 21 Nov 2015 15:28:45 +0000 (10:28 -0500)]
freedreno/a4xx: support 16384 texels in buffer texture

Looks like the width field's bitmask was off-by-one.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add ARB_texture_buffer_range support
Ilia Mirkin [Sat, 21 Nov 2015 15:02:05 +0000 (10:02 -0500)]
freedreno/a4xx: add ARB_texture_buffer_range support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agofreedreno/a4xx: add polygon mode support
Ilia Mirkin [Sat, 21 Nov 2015 18:56:22 +0000 (13:56 -0500)]
freedreno/a4xx: add polygon mode support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agoconfigure.ac: default to disabled dri3 when --disable-dri is set
Emil Velikov [Sun, 22 Nov 2015 22:05:01 +0000 (22:05 +0000)]
configure.ac: default to disabled dri3 when --disable-dri is set

Not too long ago, the dri3 code was living in src/glx, which in itself
was guarded by HAVE_DRI_GLX. As the name suggests we didn't dive into
the folder when dri was disabled, thus we missed that dri3 does not
consider/honour --enable-dri.

Cc: mesa-stable@lists.freedesktop.org
Fixes: 6bd9ba7d074 "loader: Add dri3 helper"
Cc: Pali Rohár <pali.rohar@gmail.com>
Reported-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoloader: unconditionally add AM_CPPFLAGS to libloader_la_CPPFLAGS
Emil Velikov [Sun, 22 Nov 2015 22:05:00 +0000 (22:05 +0000)]
loader: unconditionally add AM_CPPFLAGS to libloader_la_CPPFLAGS

It seems that due to the conditional autotools is getting confused and
forgetting to add AM_CPPFLAGS when building libloader (when
HAVE_DRICOMMON is not set).

Cc: mesa-stable@lists.freedesktop.org
Fixes: 5a79e0a8e37 "automake: loader: rework the CPPFLAGS"
Reported-by: Pali Rohár <pali.rohar@gmail.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
8 years agopipe-loader: link against libloader regardless of libdrm presence
Emil Velikov [Sat, 21 Nov 2015 19:43:09 +0000 (19:43 +0000)]
pipe-loader: link against libloader regardless of libdrm presence

Whether or not the loader has libdrm support is up-to it. Anyone using
the loader should just include it whenever they depend on it.

Cc: mesa-stable@lists.freedesktop.org
Fixes: 0f39f9cb7ad "pipe-loader: add a dummy 'static' pipe-loader"
Reported-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Tested-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoi965: Handle lum, intensity and missing components in the fast clear
Neil Roberts [Wed, 4 Nov 2015 14:52:06 +0000 (15:52 +0100)]
i965: Handle lum, intensity and missing components in the fast clear

It looks like the sampler hardware doesn't take into account the
surface format when sampling a cleared color after a fast clear has
been done. So for example if you clear a GL_RED surface to 1,1,1,1
then the sampling instructions will return 1,1,1,1 instead of 1,0,0,1.
This patch makes it override the color that is programmed in the
surface state in order to swizzle for luminance and intensity as well
as overriding the missing components.

Fixes the ext_framebuffer_multisample-fast-clear Piglit test.

v2: Handle luminance and intensity formats
Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com>
8 years agonir: s/nir_type_unsigned/nir_type_uint
Jason Ekstrand [Fri, 15 May 2015 16:14:47 +0000 (09:14 -0700)]
nir: s/nir_type_unsigned/nir_type_uint

v2: do the same in tgsi_to_nir (Samuel)

v3: added missing cases after rebase (Iago)

v4: Add a blank space after '#' in one of the comments (Matt)

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
8 years agonir/builder: only read meaningful channels in nir_swizzle()
Connor Abbott [Mon, 3 Aug 2015 22:04:13 +0000 (15:04 -0700)]
nir/builder: only read meaningful channels in nir_swizzle()

This way the caller doesn't have to initialize all 4 channels when they
aren't using them.

v2: Fix signed/unsigned comparison warning (Iago)

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
8 years agoi965/fs: add stride restrictions for copy propagation
Connor Abbott [Fri, 14 Aug 2015 19:00:13 +0000 (12:00 -0700)]
i965/fs: add stride restrictions for copy propagation

There are various restrictions on what the hstride can be that depend on
the Gen, and now that we're using hstride == 2 for packing/unpacking
doubles, we're going to run into these restrictions a lot more often.
Pull them out into a separate function, and move the one restriction we
checked previously into it.

Reviewed-by: Matt Turner <mattst88@gmail.com>
8 years agoi965/fs: don't propagate cmod when the exec sizes differ
Connor Abbott [Tue, 11 Aug 2015 23:16:42 +0000 (16:16 -0700)]
i965/fs: don't propagate cmod when the exec sizes differ

This can happen when the source of the compare was split by the SIMD
lowering pass. Potentially, we could allow the case where the exec size
of scan_inst is larger, and scan_inst has the right quarter selected,
but doing that seems a little more risky.

v2: Merge the bail condition into the the previous if/break block (Matt)

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
8 years agoi965/fs: respect force_sechalf/force_writemask_all in CSE
Connor Abbott [Tue, 11 Aug 2015 21:25:36 +0000 (14:25 -0700)]
i965/fs: respect force_sechalf/force_writemask_all in CSE

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
8 years agoi965: fix 64-bit immediates in brw_inst(_set)_bits
Connor Abbott [Mon, 3 Aug 2015 21:38:12 +0000 (14:38 -0700)]
i965: fix 64-bit immediates in brw_inst(_set)_bits

If we tried to get/set something that was exactly 64 bits, we would
try to do (1 << 64) - 1 to calculate the mask which doesn't give us all
1's like we want.

v2 (Iago)
 - Replace ~0 by ~0ull
 - Removed unnecessary parenthesis

v3 (Kristian)
 - Avoid the conditional

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
8 years agoi965/fs: print non-1 strides when dumping instructions
Connor Abbott [Wed, 5 Aug 2015 16:41:18 +0000 (09:41 -0700)]
i965/fs: print non-1 strides when dumping instructions

v2:
  - Simplify code (Iago)

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
8 years agonv50/ir: fix (un)spilling of 3-wide results
Ilia Mirkin [Sat, 18 Apr 2015 19:00:45 +0000 (15:00 -0400)]
nv50/ir: fix (un)spilling of 3-wide results

There is no 96-bit load/store operations, so we have to split it up
into a 32-bit parts, with a split/merge around it.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90348
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
8 years agoglsl: fix max binding validation for uniform blocks
Timothy Arceri [Sun, 22 Nov 2015 23:07:30 +0000 (10:07 +1100)]
glsl: fix max binding validation for uniform blocks

Regression as of 64710db66461e

We can't use the type returned by get_interface_type() as
the interface type has arrays removed.

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>