Jason Ekstrand [Sat, 12 Mar 2016 16:54:41 +0000 (08:54 -0800)]
HACK: Don't re-configure L3$ in render stages pre-BDW
This fixes a "regression" on Haswell and prior caused by merging the gen7
and gen8 flush_state functions. Haswell should still work just fine if
you're on a 4.4 kernel, but we really should make it detect the command
parser version and do something intelligent.
Jason Ekstrand [Sat, 12 Mar 2016 01:22:44 +0000 (17:22 -0800)]
anv/x11: Reset the SHM fence before presenting the pixmap
This seems to fix the flicker issue that I was seeing with dota2
Kristian Høgsberg Kristensen [Fri, 11 Mar 2016 05:47:56 +0000 (21:47 -0800)]
anv/x11: Add present support
The old DRI3 implementation just used CopyArea instead of present. We
still don't support all the MST fancyness, but it should at least avoid
some copies and allow for.
v2 (Jason Ekstrand):
- Better object cleanup and destruction
- Handle the CONFIGURE_NOTIFY event and return OUT_OF_DATE when needed
- Track dirtyness via IDLE_NOTIFY rather than interating through the
images sequentially
Jason Ekstrand [Fri, 11 Mar 2016 20:28:32 +0000 (12:28 -0800)]
anv/x11: Split image creation into a helper function
This lets us clean up error handling and make it correct.
Jason Ekstrand [Fri, 11 Mar 2016 02:35:00 +0000 (18:35 -0800)]
anv/wsi: Throttle rendering to no more than 2 frames ahead
Right now, Vulkan apps can pretty easily DOS the GPU by simply submitting a
lot of batches. This commit makes us wait until the rendering for earlier
frames is comlete before continuing. By waiting 2 frames out, we can still
keep the pipe reasonably full but without taking the entire system down.
This is similar to what the GL driver does today.
Jason Ekstrand [Fri, 11 Mar 2016 19:24:46 +0000 (11:24 -0800)]
anv/gem: Use C99-style struct initializers for DRM structs
This is more consistent with the way the rest of the driver works and
ensures that all structs we pass into the kernel are zero'd out except for
the fields we actually want to fill. We were previously doing then when
building with valgrind to keep valgrind from complaining. However, we need
to start doing this unconditionally as recent kernels have been getting
touchier about this. In particular, as of kernel commit
b31e51360e88 from
Chris Wilson, context creation and destroy fail if the padding bits are not
set to 0.
Jason Ekstrand [Wed, 9 Mar 2016 20:38:58 +0000 (12:38 -0800)]
isl/surface_state: Set the clear color
Jason Ekstrand [Wed, 9 Mar 2016 20:36:07 +0000 (12:36 -0800)]
genxml/gen75: Add the clear color bits to RENDER_SURFACE_STATE
Jason Ekstrand [Wed, 9 Mar 2016 20:25:47 +0000 (12:25 -0800)]
isl: Add more helpers for determining if a format is an integer format
Jason Ekstrand [Wed, 9 Mar 2016 20:23:22 +0000 (12:23 -0800)]
isl: Remove redundant check
The green channel was checked twice.
Nanley Chery [Tue, 8 Mar 2016 17:37:43 +0000 (09:37 -0800)]
anv/blit2d: Use the tiling enum for simplicity
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Nanley Chery [Tue, 8 Mar 2016 20:45:55 +0000 (12:45 -0800)]
anv/meta: Prefix anv_ to meta_emit_blit()
Follow the convention for non-static functions.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Nanley Chery [Mon, 7 Mar 2016 23:15:33 +0000 (15:15 -0800)]
anv/meta: Split anv_meta_blit.c into three files
The new organization is as follows:
* anv_meta_blit.c: Blit and state setup/teardown commands
* anv_meta_copy.c: Copy and update commands
* anv_meta_blit2d.c: 2D Blitter API commands
Also, change the formatting to contain most lines
within 80 columns.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Nanley Chery [Tue, 8 Mar 2016 06:38:05 +0000 (22:38 -0800)]
anv/meta: Make meta_emit_blit() public
This can be reverted if the only other consumer, anv_meta_blit2d(),
uses a different method.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Nanley Chery [Mon, 7 Mar 2016 22:18:27 +0000 (14:18 -0800)]
anv/meta: Store src and dst usage flags in a variable
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Nanley Chery [Fri, 4 Mar 2016 19:43:19 +0000 (11:43 -0800)]
anv/meta: Minimize height of images used for copies
In addition to demystifying the value being added to the height,
this future-proofs the code for new tiling modes and keeps the
image height as small as possible.
v2: Actually use the smallest height possible.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Jason Ekstrand [Wed, 9 Mar 2016 01:10:05 +0000 (17:10 -0800)]
anv/cmd_buffer: Pull the core of flush_state into genX_cmd_buffer
Jason Ekstrand [Wed, 9 Mar 2016 00:54:07 +0000 (16:54 -0800)]
anv/cmd_buffer: Split flush_state into two functions
Jason Ekstrand [Wed, 9 Mar 2016 00:49:06 +0000 (16:49 -0800)]
anv: Pull all of the genX_foo functions into anv_genX.h
This way we only have to declare them each once and we get it for all gens
at a single go.
Jason Ekstrand [Tue, 8 Mar 2016 19:19:02 +0000 (11:19 -0800)]
anv/meta_clear: Use repclear again
Jason Ekstrand [Tue, 8 Mar 2016 18:25:00 +0000 (10:25 -0800)]
anv/pipeline: Unconditionally emit PS_BLEND on gen8+
Special-casing the PS_BLEND packet wasn't really gaining us anything. It's
defined to be more-or-less the contents of blend state entry 0 only without
the indirection. We can just copy-and-paste the contents. If there are no
valid color targets, then blend state 0 will be 0-initialized anyway so
it's basically the same as the special case we had before.
Jason Ekstrand [Tue, 8 Mar 2016 01:28:00 +0000 (17:28 -0800)]
anv: Compact render targets
Previously, we would always emit all of the render targets in the subpass.
This commit changes it so that we compact render targets just like we do
with other resources. Render targets are represented in the surface map by
using a descriptor set index of UINT16_MAX.
Jason Ekstrand [Tue, 8 Mar 2016 02:07:48 +0000 (18:07 -0800)]
anv/pipeline: Move binding table setup to its own helper
Jason Ekstrand [Mon, 7 Mar 2016 21:45:25 +0000 (13:45 -0800)]
anv: Store CPU-side fence information in the BO
This reduces the number of allocations a bit and cuts back on memory usage.
Kind-of a micro-optimization but it also makes the error handling a bit
simpler so it seems like a win.
Jason Ekstrand [Tue, 8 Mar 2016 05:27:55 +0000 (21:27 -0800)]
anv/allocator: Better casting in PFL macros
We cast he constant 0xfff values to a uintptr_t before applying a bitwise
negate to ensure that they are actually 64-bit when needed. Also, the
count variable doesn't need to be explicitly cast, it will get upcast as
needed by the "|" operation.
Jason Ekstrand [Tue, 8 Mar 2016 05:22:46 +0000 (21:22 -0800)]
anv/allocator: Move the alignment assert for the pointer free list
Previously we asserted every time you tried to pack a pointer and a counter
together. However, this wasn't really correct. In the case where you try
to grab the last element of the list, the "next elemnet" value you get may
be bogus if someonoe else got there first. This was leading to assertion
failures even though the allocator would safely fall through to the failure
case below.
Jason Ekstrand [Mon, 7 Mar 2016 22:56:58 +0000 (14:56 -0800)]
anv/bo_pool: Allow freeing BOs where the anv_bo is in the BO itself
Nanley Chery [Sat, 5 Mar 2016 23:17:00 +0000 (15:17 -0800)]
anv/device: Up device limits for 3D and array texture dimensions
The limit for these textures is 2048 not 1024.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Jason Ekstrand [Mon, 7 Mar 2016 22:48:35 +0000 (14:48 -0800)]
anv/device: Actually free the CPU-side fence struct again
In
23de78768, when we switched from allocating individual BOs to using the
pool for fences, we accidentally deleted the free.
Kristian Høgsberg Kristensen [Mon, 7 Mar 2016 06:06:24 +0000 (22:06 -0800)]
anv: Quiet pTessellationState warning
Some application pass a dummy for pTessellationState which results in a
lot of noise. Only warn if we're actually given tessellation shadear
stages.
Jason Ekstrand [Sun, 6 Mar 2016 22:16:51 +0000 (14:16 -0800)]
anv: Create fences from the batch BO pool
Applications may create a *lot* of fences, perhaps as much as one per
vkQueueSubmit. Really, they're supposed to use ResetFence, but it's easy
enough for us to make them crazy-cheap so we might as well.
Jason Ekstrand [Fri, 26 Feb 2016 19:31:04 +0000 (11:31 -0800)]
anv: Emit null render targets
v2 (Francisco Jerez): Add the state_offset to the surface state offset
Jason Ekstrand [Sat, 5 Mar 2016 22:42:16 +0000 (14:42 -0800)]
anv/pipeline: Handle null wm_prog_data in 3DSTATE_CLIP
Kristian Høgsberg Kristensen [Sat, 5 Mar 2016 22:33:50 +0000 (14:33 -0800)]
anv: Fix rebase error
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 23:03:23 +0000 (15:03 -0800)]
anv: Turn pipeline cache on by default
Move the environment variable check to cache creation time so we block
both lookups and uploads if it's turned off.
Kristian Høgsberg Kristensen [Sat, 5 Mar 2016 20:20:16 +0000 (12:20 -0800)]
anv: Check if shader if present before uploading to cache
Between the initial check the returns NO_KERNEL and compiling the
shader, other threads may have added the shader to the cache. Before
uploading the kernel, check again (under the mutex) that the compiled
shader still isn't present.
Kristian Høgsberg Kristensen [Sat, 5 Mar 2016 06:07:02 +0000 (22:07 -0800)]
anv: Always use point size from the shader
There is no API for setting the point size and the shader is always
required to set it. Section 24.4:
"If the value written to PointSize is less than or equal to zero, or
if no value was written to PointSize, results are undefined."
As such, we can just always program PointWidthSource to Vertex. This
simplifies anv_pipeline a bit and avoids trouble when we enable the
pipeline cache and don't have writes_point_size in the prog_data.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 20:56:14 +0000 (12:56 -0800)]
anv: Also cache the struct anv_pipeline_binding maps
This is state the we generate when compiling the shaders and we need it
for mapping resources from descriptor sets to binding table indices.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 20:27:31 +0000 (12:27 -0800)]
anv: Don't re-upload shaders when merging
Using anv_pipeline_cache_upload_kernel() will re-upload the kernel and
prog_data when we merge caches. Since the kernel and prog_data is
already in the program_stream, use anv_pipeline_cache_add_entry()
instead to only add the entry to the hash table.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 20:25:23 +0000 (12:25 -0800)]
anv: Add anv_pipeline_cache_add_entry()
This function will grow the cache to make room and then add the entry.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 20:21:43 +0000 (12:21 -0800)]
anv: Rename anv_pipeline_cache_add_entry() to 'set'
This function is a helper that unconditionally sets a hash table entry
and expects the cache to have enough room. Calling it 'add_entry'
suggests it will grow the cache as needed.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 18:59:21 +0000 (10:59 -0800)]
anv: Simplify pipeline cache control flow a bit
No functional change, but the control flow around searching the cache
and falling back to compiling is a bit simpler.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 16:15:16 +0000 (08:15 -0800)]
anv: Store prog data in pipeline cache stream
We have to keep it there for the cache to work, so let's not have an
extra copy in struct anv_pipeline too.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 00:52:20 +0000 (16:52 -0800)]
anv: Rename 'table' to 'hash_table' in anv_pipeline_cache
A little less ambiguous.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 00:48:31 +0000 (16:48 -0800)]
anv: Serialize as much pipeline cache as we can
We can serialize as much as the application asks for and just stop once
we run out of memory. This lets applications use a fixed amount of
space for caching and still get some benefit.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 00:39:59 +0000 (16:39 -0800)]
anv: Use 1.0 pipeline cache header
The final version of the pipeline cache header adds a few more fields.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 00:21:17 +0000 (16:21 -0800)]
anv: Fix shader key hashing
This was copied from inline code to a helper and wasn't updated to hash
a pointer instead.
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 00:18:30 +0000 (16:18 -0800)]
anv: Remove excess whitespace
Kristian Høgsberg Kristensen [Fri, 4 Mar 2016 00:10:29 +0000 (16:10 -0800)]
anv: Remove left-over bits of sparse-descriptor code
Jason Ekstrand [Sat, 5 Mar 2016 17:19:01 +0000 (09:19 -0800)]
anv/pipeline: Implement the depth compare EQUAL workaround on gen8+
Jason Ekstrand [Sat, 5 Mar 2016 17:13:44 +0000 (09:13 -0800)]
anv: Don't allow D16_UNORM to be combined with stencil
Among other things, this can cause the depth or stencil test to spurriously
fail when the fragment shader uses discard.
Jason Ekstrand [Sat, 5 Mar 2016 16:45:01 +0000 (08:45 -0800)]
anv/pipeline: Calculate the correct max_source_attr for 3DSTATE_SBE
Jordan Justen [Sat, 5 Mar 2016 08:54:54 +0000 (00:54 -0800)]
anv/hsw: Move query code to genX file for Haswell
This fixes many CTS cases, but will require an update to the kernel
command parser register whitelist. (The CS GPRs and TIMESTAMP
registers need to be whitelisted.)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Nanley Chery [Sat, 5 Mar 2016 04:41:05 +0000 (20:41 -0800)]
anv: Implement VK_REMAINING_{MIP_LEVELS,ARRAY_LAYERS}
v2: Subtract the baseMipLevel and baseArrayLayer (Jason)
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Jason Ekstrand [Sat, 5 Mar 2016 03:14:48 +0000 (19:14 -0800)]
anv/meta_clear: Set the right number of dynamic states
Jason Ekstrand [Sat, 5 Mar 2016 01:56:12 +0000 (17:56 -0800)]
anv/pipeline: Fix depthBiasEnable on gen7
The first time I tried to fix this, I set the wrong fields.
Jason Ekstrand [Fri, 4 Mar 2016 20:42:03 +0000 (12:42 -0800)]
anv/cmd_buffer: Reset the state streams when resetting the command buffer
Jason Ekstrand [Fri, 4 Mar 2016 23:38:11 +0000 (15:38 -0800)]
anv/cmd_buffer: Include Haswell in set_subpass
Nanley Chery [Thu, 3 Mar 2016 23:49:13 +0000 (15:49 -0800)]
isl: Fix RenderTargetViewExtent for mipmapped 3D surfaces
Match the comment stated above the assignment.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Thu, 3 Mar 2016 23:40:13 +0000 (15:40 -0800)]
isl: Get rid of isl_surf_fill_state_info::level0_extent_px
This field is no longer needed.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Jason Ekstrand [Fri, 4 Mar 2016 20:23:01 +0000 (12:23 -0800)]
anv/cmd_buffer: Let the pipeline set StencilBufferWriteEnable on gen9
Jason Ekstrand [Fri, 4 Mar 2016 20:22:32 +0000 (12:22 -0800)]
anv/cmd_buffer: Mask stencil reference values
Jason Ekstrand [Fri, 4 Mar 2016 19:07:27 +0000 (11:07 -0800)]
anv/clear: Pull the stencil write mask from the pipeline
The stencil write mask wasn't getting set at all so we were using whatever
write mask happend to be left over by the application.
Jason Ekstrand [Fri, 4 Mar 2016 18:45:24 +0000 (10:45 -0800)]
anv/pipeline: Set StencilBufferWriteEnable from the pipeline
The hardware docs say that StencilBufferWriteEnable should only be set if
StencilTestEnable is set. It seems reasonable to set them together.
Jason Ekstrand [Tue, 1 Mar 2016 21:39:04 +0000 (13:39 -0800)]
anv/pipeline: More competent gen8 clipping
Jason Ekstrand [Fri, 4 Mar 2016 08:02:18 +0000 (00:02 -0800)]
anv/pipeline: Use the right provoking vertex for triangle fans
Jason Ekstrand [Fri, 4 Mar 2016 08:01:25 +0000 (00:01 -0800)]
anv/pipeline: Respect pRasterizationState->depthBiasEnable
Kenneth Graunke [Fri, 4 Mar 2016 00:43:49 +0000 (16:43 -0800)]
anv: Fix backwards shadow comparisons
sample_c is backwards from what GL and Vulkan expect.
See intel_state.c in i965.
v2: Drop unused vk_to_gen_compare_op.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Kenneth Graunke [Fri, 4 Mar 2016 00:21:09 +0000 (16:21 -0800)]
hack to make dota 2 menus work
Jason Ekstrand [Fri, 4 Mar 2016 00:15:54 +0000 (16:15 -0800)]
isl/surface_state: Set L2 bypass disable for certain BC* formats
Kenneth Graunke [Wed, 24 Feb 2016 23:41:24 +0000 (15:41 -0800)]
anv: Compile shader stages in pipeline order.
Instead of the arbitrary order modules might be specified in.
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Mon, 29 Feb 2016 22:37:48 +0000 (14:37 -0800)]
anv/meta: Delete unused functions
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Wed, 2 Mar 2016 22:33:51 +0000 (14:33 -0800)]
anv/meta: Use blitter API for state-handling in Buffer Update/Copy
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Sun, 28 Feb 2016 01:11:55 +0000 (17:11 -0800)]
anv/meta: Use blitter API in do_buffer_copy()
v2: Keep pitch in units of bytes (Jason)
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Mon, 29 Feb 2016 20:19:51 +0000 (12:19 -0800)]
anv/meta: Use blitter API in anv_CmdCopyImage()
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Sun, 28 Feb 2016 01:11:55 +0000 (17:11 -0800)]
anv/meta: Use blitter API for copies between Images and Buffers
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Mon, 29 Feb 2016 22:28:25 +0000 (14:28 -0800)]
anv/meta: Add function which copies between Buffers and Images
v2: Keep pitch in units of bytes (Jason)
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Wed, 2 Mar 2016 07:15:35 +0000 (23:15 -0800)]
anv/meta: Add function to create anv_meta_blit2d_surf from anv_image
v2: Keep pitch in units of bytes (Jason)
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Sat, 27 Feb 2016 20:26:21 +0000 (12:26 -0800)]
anv/meta: Implement the blitter API functions
Most of the code in anv_meta_blit2d() is borrowed from do_buffer_copy().
Create an image and image view for each rectangle.
Note: For tiled RGB images, ISL will align the image's row_pitch up to
the nearest tile width.
v2 (Jason):
Keep pitch in units of bytes
Make src_format and dst_format variables
s/dest/dst/ in every usage
v3: Fix dst_image width
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Thu, 25 Feb 2016 23:21:12 +0000 (15:21 -0800)]
anv/meta: Modify blitter API fields
Some fields are unnecessary. The variables "pitch" and "bs" are used
for consistency with ISL.
v2: Keep pitch in units of bytes (Jason)
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Jason Ekstrand [Thu, 31 Dec 2015 23:37:54 +0000 (15:37 -0800)]
anv/meta: Add the beginnings of a blitter API
This API is designed to be an abstraction that sits between the VkCmdCopy
commands and the hardware. The idea is that it is simple enough that it
*should* be implementable using the blitter but with enough extra data that
we can implement it with the 3-D pipeline efficiently. One design
objective is to allow the user to supply enough information that we can
handle most blit operations with a single draw call even if they require
copying multiple rectangles.
Nanley Chery [Sat, 27 Feb 2016 21:29:04 +0000 (13:29 -0800)]
anv/meta: Remove redundancies in do_buffer_copy()
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Sat, 27 Feb 2016 22:25:00 +0000 (14:25 -0800)]
anv/meta: Replace copy_format w/ block size in do_buffer_copy()
This is a preparatory commit that will simplify the future usage of
this function.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Wed, 2 Mar 2016 22:27:17 +0000 (14:27 -0800)]
anv/meta: Add missing command to exit meta in anv_CmdUpdateBuffer()
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Wed, 2 Mar 2016 17:44:48 +0000 (09:44 -0800)]
anv/image: Create a linear image when requested
If a linear image is requested, the only possible result should be a
linearly-tiled surface.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Wed, 2 Mar 2016 01:32:14 +0000 (17:32 -0800)]
isl: Don't filter tiling flags if a specific tiling bit is set
If a specific bit is set, the intention to create a surface with a
specific tiling format should be respected.
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Nanley Chery [Fri, 26 Feb 2016 22:49:51 +0000 (14:49 -0800)]
isl: Add function to get intratile offsets from x/y offsets
Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
Jason Ekstrand [Thu, 3 Mar 2016 16:17:36 +0000 (08:17 -0800)]
anv/util: Fix vector resizing
It wasn't properly handling the fact that wrap-around in the source may not
translate to wrap-around in the destination. This really needs unit tests.
Jordan Justen [Wed, 2 Mar 2016 09:11:29 +0000 (01:11 -0800)]
anv/gen7: Use predicated rendering for indirect compute
For OpenGL, see commit
9a939ebb47a0d37a6b29e3dbb1b20bdc9538a721.
Fixes:
* dEQP-VK.compute.indirect_dispatch.upload_buffer.empty_command
* dEQP-VK.compute.indirect_dispatch.gen_in_compute.empty_command
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Jordan Justen [Wed, 2 Mar 2016 09:09:16 +0000 (01:09 -0800)]
anv: Save batch to local variable for indirect compute
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Jason Ekstrand [Wed, 2 Mar 2016 19:31:32 +0000 (11:31 -0800)]
anv: Fix make check
Jason Ekstrand [Wed, 2 Mar 2016 19:31:22 +0000 (11:31 -0800)]
isl: Fix make check
Jason Ekstrand [Wed, 2 Mar 2016 18:46:13 +0000 (10:46 -0800)]
gen8/cmd_buffer: Properly return flushed push constant stages
This is required on SKL so that we can properly re-emit binding table
pointers commands.
Jason Ekstrand [Wed, 2 Mar 2016 01:19:43 +0000 (17:19 -0800)]
anv/meta_blit: Use unorm formats for 8 and 16-bit RGB and RGBA values
While Broadwell is very good about UINT formats, HSW is more restrictive.
Neither R8G8B8_UINT nor R16G16B16_UINT really exist on HSW. It should be
safe to just use the unorm formats.
Kenneth Graunke [Wed, 2 Mar 2016 00:26:09 +0000 (16:26 -0800)]
Merge remote-tracking branch 'origin/master' into vulkan
Jason Ekstrand [Tue, 1 Mar 2016 22:43:05 +0000 (14:43 -0800)]
genxml: Make the border color pointer consistent across gens
Jason Ekstrand [Tue, 1 Mar 2016 21:51:50 +0000 (13:51 -0800)]
gen7/pipeline: Add competent blending
This is mostly a copy-and-paste from gen8. Blending still isn't 100% but
it fixes about 1100 CTS blend tests on HSW.
Jason Ekstrand [Tue, 1 Mar 2016 19:38:11 +0000 (11:38 -0800)]
anv: Unify gen7 and gen8 state
Now that we've pulled surface state setup into ISL, there's not much to do
here.
Matt Turner [Sat, 27 Feb 2016 23:30:09 +0000 (15:30 -0800)]
mesa: Remove NV_fragment_program remnants from dlist.c.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Brian Paul <brianp@vmware.com>
Matt Turner [Sat, 27 Feb 2016 22:24:58 +0000 (14:24 -0800)]
mesa: Remove NV_fragment_program_option enable bit.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Brian Paul <brianp@vmware.com>