platform/upstream/mesa.git
9 years agovk: Add support for dynamic and pipeline color blend state
Kristian Høgsberg [Wed, 27 May 2015 00:12:18 +0000 (17:12 -0700)]
vk: Add support for dynamic and pipeline color blend state

9 years agovk/test: Create and use color/blend dynamic and pipeline state
Kristian Høgsberg [Tue, 26 May 2015 23:48:21 +0000 (16:48 -0700)]
vk/test: Create and use color/blend dynamic and pipeline state

9 years agovk/meta: Allocate and set color/blend state
Kristian Høgsberg [Tue, 26 May 2015 21:47:06 +0000 (14:47 -0700)]
vk/meta: Allocate and set color/blend state

For color blend, we have to set our own state to avoid inheriting bogus
blend state.

9 years agovk: Allocate samplers from dynamic stream
Kristian Høgsberg [Tue, 26 May 2015 18:50:34 +0000 (11:50 -0700)]
vk: Allocate samplers from dynamic stream

9 years agovk: Emit color calc state
Kristian Høgsberg [Tue, 26 May 2015 18:22:12 +0000 (11:22 -0700)]
vk: Emit color calc state

This involves pulling stencil ref values out of DS dynamic state and the
blend constant out of CB dynamic state.

9 years agovk/pack: Generate length macros for structs
Kristian Høgsberg [Tue, 26 May 2015 18:02:28 +0000 (11:02 -0700)]
vk/pack: Generate length macros for structs

9 years agovk: Program depth bias
Kristian Høgsberg [Tue, 26 May 2015 16:40:10 +0000 (09:40 -0700)]
vk: Program depth bias

This makes 3DSTATE_RASTER a split state command.

9 years agovk: Add support for texture component swizzle
Kristian Høgsberg [Tue, 26 May 2015 05:12:24 +0000 (22:12 -0700)]
vk: Add support for texture component swizzle

This also drops the share create_surface_state helper and moves filling
out SURFACE_STATE directly into anv_image_view_init() and
anv_color_attachment_view_init().

9 years agovk: Implement dynamic and pipeline ds state
Kristian Høgsberg [Mon, 25 May 2015 04:19:26 +0000 (21:19 -0700)]
vk: Implement dynamic and pipeline ds state

9 years agovk: Set up depth and stencil buffers
Kristian Høgsberg [Sat, 23 May 2015 05:59:12 +0000 (22:59 -0700)]
vk: Set up depth and stencil buffers

9 years agovk/test: Add new depth-stencil test
Kristian Høgsberg [Fri, 22 May 2015 22:18:37 +0000 (15:18 -0700)]
vk/test: Add new depth-stencil test

Not yet a depth stencil test, but will become one.

9 years agovk: Add basic MOCS settings
Kristian Høgsberg [Thu, 21 May 2015 21:35:34 +0000 (14:35 -0700)]
vk: Add basic MOCS settings

This matches what we do for GL.

9 years agovk: Update to header files with nested struct support
Kristian Høgsberg [Thu, 21 May 2015 21:34:55 +0000 (14:34 -0700)]
vk: Update to header files with nested struct support

This will let us do MOCS settings right.

9 years agovk/cmd_buffer: Initialize the pipeline pointer to NULL
Jason Ekstrand [Tue, 26 May 2015 00:08:11 +0000 (17:08 -0700)]
vk/cmd_buffer: Initialize the pipeline pointer to NULL

If a meta operation is called before the pipeline is set, this can cause
uses of undefined values.  They *should* be harmless, but we might as well
shut up valgrind on this one too.

9 years agovk/device: Use the correct number of viewports when creating default VP state
Jason Ekstrand [Tue, 26 May 2015 00:03:57 +0000 (17:03 -0700)]
vk/device: Use the correct number of viewports when creating default VP state

Fixes valgrind uninitialized value errors

9 years agovk/compiler: Zero out the vs_prog_data struct when VS is disabled
Jason Ekstrand [Mon, 25 May 2015 23:59:24 +0000 (16:59 -0700)]
vk/compiler: Zero out the vs_prog_data struct when VS is disabled

Prevents uninitialized value errors

9 years agovk/compiler: Fix up the binding hack and make it work in NIR
Jason Ekstrand [Mon, 25 May 2015 19:42:59 +0000 (12:42 -0700)]
vk/compiler: Fix up the binding hack and make it work in NIR

9 years agovk: Actually implement some sort of destructor for all object types
Jason Ekstrand [Fri, 22 May 2015 22:15:08 +0000 (15:15 -0700)]
vk: Actually implement some sort of destructor for all object types

9 years agovk/pipeline: Track VB's that are actually used by the pipeline
Jason Ekstrand [Thu, 21 May 2015 23:49:55 +0000 (16:49 -0700)]
vk/pipeline: Track VB's that are actually used by the pipeline

Previously, we just blasted out whatever VB's we had marked as "dirty"
regardless of which ones were used by the pipeline.  Given that the stride
of the VB is embedded in the pipeline this can cause problems.  One problem
is if the pipeline doesn't use the given VB binding we emit a bogus stride.
Another problem is that we weren't properly resetting the dirty bits when
the pipeline changed.

9 years agovk/device: Memset descriptor sets to 0 and handle descriptor set holes
Jason Ekstrand [Thu, 21 May 2015 23:33:04 +0000 (16:33 -0700)]
vk/device: Memset descriptor sets to 0 and handle descriptor set holes

9 years agovk: Do relocations in surface states when they are created
Jason Ekstrand [Thu, 21 May 2015 22:55:27 +0000 (15:55 -0700)]
vk: Do relocations in surface states when they are created

Previously, we waited until later and did a pass through the used surfaces
and did the relocations then.  This lead to doing double-relocations which
was causing us to get bogus surface offsets.

9 years agovk/test: Use the glsl_scraper for building shaders
Jason Ekstrand [Thu, 21 May 2015 18:59:29 +0000 (11:59 -0700)]
vk/test: Use the glsl_scraper for building shaders

9 years agovk/glsl_scraper: Use the LunarG back-door for GLSL source
Jason Ekstrand [Thu, 21 May 2015 19:19:24 +0000 (12:19 -0700)]
vk/glsl_scraper: Use the LunarG back-door for GLSL source

9 years agovk/glsl_scraper: Use a fake GLSL version that glslang will accept
Jason Ekstrand [Thu, 21 May 2015 18:40:24 +0000 (11:40 -0700)]
vk/glsl_scraper: Use a fake GLSL version that glslang will accept

9 years agovk: Bake the GLSL_VK_SHADER macro into the scraper output file
Jason Ekstrand [Thu, 21 May 2015 18:31:43 +0000 (11:31 -0700)]
vk: Bake the GLSL_VK_SHADER macro into the scraper output file

9 years agovk/meta: Use glsl_scraper for our GLSL source
Jason Ekstrand [Tue, 19 May 2015 18:28:08 +0000 (11:28 -0700)]
vk/meta: Use glsl_scraper for our GLSL source

We are not yet using SPIR-V for meta but this is a first step.

9 years agovk: More out-of-tree build fixes
Jason Ekstrand [Thu, 21 May 2015 18:28:40 +0000 (11:28 -0700)]
vk: More out-of-tree build fixes

9 years agovk: Fix for out-of-tree builds
Jason Ekstrand [Thu, 21 May 2015 17:23:18 +0000 (10:23 -0700)]
vk: Fix for out-of-tree builds

9 years agovk: Remove render pass stub call
Kristian Høgsberg [Wed, 20 May 2015 23:42:11 +0000 (16:42 -0700)]
vk: Remove render pass stub call

This isn't really a stub.

9 years agovk: Add WSI implementation
Kristian Høgsberg [Sat, 16 May 2015 05:04:52 +0000 (22:04 -0700)]
vk: Add WSI implementation

9 years agovk: Add debug stubs
Kristian Høgsberg [Sat, 16 May 2015 05:04:15 +0000 (22:04 -0700)]
vk: Add debug stubs

9 years agovk: Mark remaining unsupported formats as such
Kristian Høgsberg [Wed, 20 May 2015 21:38:11 +0000 (14:38 -0700)]
vk: Mark remaining unsupported formats as such

9 years agovk: Mark VK_FORMAT_UNDEFINED as 1 cpp, 1 channel
Kristian Høgsberg [Wed, 20 May 2015 21:36:11 +0000 (14:36 -0700)]
vk: Mark VK_FORMAT_UNDEFINED as 1 cpp, 1 channel

9 years agovk: Stream surface state instead of using the surface pool
Kristian Høgsberg [Tue, 19 May 2015 21:14:24 +0000 (14:14 -0700)]
vk: Stream surface state instead of using the surface pool

Since the binding table pointer is only 16 bits, we can only have 64kb
of binding table state allocated at any given time. With a block size of
1kb, that amounts to just 64 command buffers, which is not enough.

9 years agovk: Use surface_format_info from dri driver for vkGetFormatInfo
Kristian Høgsberg [Tue, 19 May 2015 05:08:55 +0000 (22:08 -0700)]
vk: Use surface_format_info from dri driver for vkGetFormatInfo

9 years agovk: Fix result of vkCreateInstance
Chad Versace [Thu, 21 May 2015 02:51:10 +0000 (19:51 -0700)]
vk: Fix result of vkCreateInstance

When fill_physical_device() fails, don't return VK_SUCCESS.

9 years agovk/compiler: Add shader language detection
Jason Ekstrand [Thu, 21 May 2015 00:05:38 +0000 (17:05 -0700)]
vk/compiler: Add shader language detection

This commit adds support for the LunarG GLSL back-door as well as detecting
regular GLSL and SPIR-V.  The SPIR-V path doesn't exist yet, so that will
cause an assert-fail.

9 years agovk/test: Add a test for testing buffer copies
Jason Ekstrand [Wed, 20 May 2015 22:11:08 +0000 (15:11 -0700)]
vk/test: Add a test for testing buffer copies

9 years agovk/meta: Add support for copying arbitrary size buffers
Jason Ekstrand [Wed, 20 May 2015 23:17:59 +0000 (16:17 -0700)]
vk/meta: Add support for copying arbitrary size buffers

9 years agovk/meta: Use the biggest format possible for buffer copies
Jason Ekstrand [Wed, 20 May 2015 22:38:11 +0000 (15:38 -0700)]
vk/meta: Use the biggest format possible for buffer copies

This should substantially improve throughput of buffer copies.

9 years agovk/meta: Fix buffer copy extents
Jason Ekstrand [Wed, 20 May 2015 22:11:21 +0000 (15:11 -0700)]
vk/meta: Fix buffer copy extents

9 years agovk/meta: Use texture() instead of texture2D()
Jason Ekstrand [Tue, 19 May 2015 19:43:13 +0000 (12:43 -0700)]
vk/meta: Use texture() instead of texture2D()

9 years agovk: Use binding instead of index in uniform layout qualifiers
Jason Ekstrand [Tue, 19 May 2015 19:42:21 +0000 (12:42 -0700)]
vk: Use binding instead of index in uniform layout qualifiers

This more closely matches what the Vulkan docs say to do.

9 years agovk/glsl_scraper: Add a --glsl-only option
Jason Ekstrand [Tue, 19 May 2015 18:27:20 +0000 (11:27 -0700)]
vk/glsl_scraper: Add a --glsl-only option

9 years agovk/glsl_scraper: Use the line number from the end of the macro
Jason Ekstrand [Tue, 19 May 2015 18:26:35 +0000 (11:26 -0700)]
vk/glsl_scraper: Use the line number from the end of the macro

We used to use the line number from the start of the macro but this doesn't
seem to match the c preprocessor

9 years agovk/glsl_scraper: Don't open files until needed
Jason Ekstrand [Tue, 19 May 2015 17:44:59 +0000 (10:44 -0700)]
vk/glsl_scraper: Don't open files until needed

This prevents us from writing an empty file when the compile failed.

9 years agovk: Call finish for binding table state stream
Kristian Høgsberg [Tue, 19 May 2015 04:11:40 +0000 (21:11 -0700)]
vk: Call finish for binding table state stream

9 years agovk/meta: Use the new *view_init functions and stack-allocated views
Jason Ekstrand [Tue, 19 May 2015 03:56:58 +0000 (20:56 -0700)]
vk/meta: Use the new *view_init functions and stack-allocated views

This should save us a good deal of the leakage that meta currently has.

9 years agovk/image: Factor view creation out into separate *_init functions
Jason Ekstrand [Tue, 19 May 2015 03:42:03 +0000 (20:42 -0700)]
vk/image: Factor view creation out into separate *_init functions

The *_init functions work basically the same as the Vulkan entrypoints
except that they act on an already-created view and take an optional
command buffer option.  If a command buffer is given, the surface state is
allocated out of the command buffer's state stream.

9 years agoRevert "vk/allocator: Don't use memfd when valgrind is detected"
Jason Ekstrand [Tue, 19 May 2015 03:22:51 +0000 (20:22 -0700)]
Revert "vk/allocator: Don't use memfd when valgrind is detected"

This reverts commit b6ab076d6b7dd91ce0dda8741ba974b2402fa726.

It turns out setting USE_MEMFD to 0 is really bad because it means we can't
resize the pool.  Besides, valgrind SVN handles memfd so we really don't
need this fallback for valgrind anymore.

9 years agovk: Use a separate block pool and state stream for binding tables
Jason Ekstrand [Tue, 19 May 2015 02:56:32 +0000 (19:56 -0700)]
vk: Use a separate block pool and state stream for binding tables

The binding table pointers packet only allows for a 16-bit binding table
address so all binding tables have to be in the first 64 KB of the surface
state BO.  We solve this by adding a slave block pool that pulls off the
first 64 KB worth of blocks and reserves them for binding tables.

9 years agovk/allocator: Add a concept of a slave block pool
Jason Ekstrand [Tue, 19 May 2015 02:55:34 +0000 (19:55 -0700)]
vk/allocator: Add a concept of a slave block pool

We probably need a better name but this will do for now.

9 years agovk/test: Add test that prints format features
Kristian Høgsberg [Tue, 19 May 2015 03:44:37 +0000 (20:44 -0700)]
vk/test: Add test that prints format features

9 years agovk/test: Test timestamps and occlusion queries
Kristian Høgsberg [Tue, 19 May 2015 00:05:36 +0000 (17:05 -0700)]
vk/test: Test timestamps and occlusion queries

9 years agovk: Make timestamp command work correctly
Kristian Høgsberg [Tue, 19 May 2015 00:04:32 +0000 (17:04 -0700)]
vk: Make timestamp command work correctly

This was using the wrong timestamp register and needs to write a 64 bit
value.

9 years agovk: Make occlusion query work, both copy and get functions
Kristian Høgsberg [Tue, 19 May 2015 00:03:58 +0000 (17:03 -0700)]
vk: Make occlusion query work, both copy and get functions

9 years agovk: Update generated header files
Kristian Høgsberg [Tue, 19 May 2015 00:00:52 +0000 (17:00 -0700)]
vk: Update generated header files

This fixes a problem where register addresses where incorrectly shifted.

9 years agovk: Only fill render targets for meta clear
Kristian Høgsberg [Mon, 18 May 2015 17:39:14 +0000 (10:39 -0700)]
vk: Only fill render targets for meta clear

Clear inherits the render targets from the current render pass. This
means we need to fill out the binding table after switching to meta
bindings. However, meta copies etc happen outside a render pass and
break when we try to fill in the render targets. This change fills the
render targets only for meta clear.

9 years agovk/pipeline: Use a state_stream for storing programs
Jason Ekstrand [Mon, 18 May 2015 22:47:28 +0000 (15:47 -0700)]
vk/pipeline: Use a state_stream for storing programs

Previously, we were effectively using a state_stream, it was just
hand-rolled based on a block pool.  Now we actually use the data structure.

9 years agovk/allocator: Add support for valgrind tracking of state pools and streams
Jason Ekstrand [Mon, 18 May 2015 19:06:02 +0000 (12:06 -0700)]
vk/allocator: Add support for valgrind tracking of state pools and streams

We leave the block pool untracked so that reads/writes to freed blocks
will get caught and do the tracking at the state pool/stream level.  We
have to do a few extra gymnastics for streams because valgrind works in
terms of poitners and we work in terms of separate map and offset.
Fortunately, the users of the state pool and stream should always be using
the map pointer provided in the anv_state structure.  We just have to
track, per block, the map that was used when we initially got the block.
Then we can make sure we always use that map and valgrind should stay
happy.

9 years agovk/allocator: Don't use memfd when valgrind is detected
Jason Ekstrand [Mon, 18 May 2015 22:58:02 +0000 (15:58 -0700)]
vk/allocator: Don't use memfd when valgrind is detected

9 years agovk/allocator: Assert that block_pool_grow succeeds
Jason Ekstrand [Mon, 18 May 2015 22:46:42 +0000 (15:46 -0700)]
vk/allocator: Assert that block_pool_grow succeeds

9 years agovk/gem: VG_CLEAR the padding for the gem_mmap struct
Jason Ekstrand [Mon, 18 May 2015 19:05:17 +0000 (12:05 -0700)]
vk/gem: VG_CLEAR the padding for the gem_mmap struct

9 years agovk/meta: Rework the indentation style
Jason Ekstrand [Mon, 18 May 2015 17:41:09 +0000 (10:41 -0700)]
vk/meta: Rework the indentation style

No functional change.

9 years agovk: Provide more realistic values for device info
Kristian Høgsberg [Mon, 18 May 2015 17:17:53 +0000 (10:17 -0700)]
vk: Provide more realistic values for device info

9 years agovk: Use a temporary buffer for formatting in finishme
Kristian Høgsberg [Mon, 18 May 2015 16:05:11 +0000 (09:05 -0700)]
vk: Use a temporary buffer for formatting in finishme

This is more likely to avoid breaking up the message when racing with
other threads.

9 years agovk/meta: Add an initial implementation of vkCmdCopyBuffer
Jason Ekstrand [Mon, 18 May 2015 16:42:09 +0000 (09:42 -0700)]
vk/meta: Add an initial implementation of vkCmdCopyBuffer

Compile-tested only

9 years agovk/meta: Add an initial implementation of vkCmdCopyBufferToImage
Jason Ekstrand [Mon, 18 May 2015 16:16:04 +0000 (09:16 -0700)]
vk/meta: Add an initial implementation of vkCmdCopyBufferToImage

Compile-tested only

9 years agovk/meta: Add an initial implementation of vkCmdBlitImage
Jason Ekstrand [Mon, 18 May 2015 16:06:06 +0000 (09:06 -0700)]
vk/meta: Add an initial implementation of vkCmdBlitImage

Compile-tested only

9 years agovk/meta: Add an initial implementation of vkCmdCopyImage
Jason Ekstrand [Mon, 18 May 2015 16:03:27 +0000 (09:03 -0700)]
vk/meta: Add an initial implementation of vkCmdCopyImage

Compile-tested only

9 years agovk/gem: Set the gem_mmap.flags parameter to 0 if it exists
Jason Ekstrand [Mon, 18 May 2015 16:59:08 +0000 (09:59 -0700)]
vk/gem: Set the gem_mmap.flags parameter to 0 if it exists

9 years agovk/gem: Only VK_CLEAR the addr_ptr in gen_mmap
Jason Ekstrand [Mon, 18 May 2015 16:57:12 +0000 (09:57 -0700)]
vk/gem: Only VK_CLEAR the addr_ptr in gen_mmap

9 years agovk: Add a logger wrapper for the generated entrypoint
Kristian Høgsberg [Mon, 18 May 2015 15:52:22 +0000 (08:52 -0700)]
vk: Add a logger wrapper for the generated entrypoint

9 years agovk/gem: Just return -1 from anv_gem_wait() on error
Kristian Høgsberg [Mon, 18 May 2015 15:50:56 +0000 (08:50 -0700)]
vk/gem: Just return -1 from anv_gem_wait() on error

We were returning -errno, unlike all the other gem functions.

9 years agovk: Fix vkGetOjectInfo return values
Kristian Høgsberg [Mon, 18 May 2015 15:50:04 +0000 (08:50 -0700)]
vk: Fix vkGetOjectInfo return values

We weren't properly returning the allocation count.

9 years agovk: Implement fences
Kristian Høgsberg [Mon, 18 May 2015 15:49:15 +0000 (08:49 -0700)]
vk: Implement fences

This basic implementation uses a throw-away bo for synchronization.

9 years agovk/meta: Use anv_* internal entrypoints
Kristian Høgsberg [Mon, 18 May 2015 02:30:27 +0000 (19:30 -0700)]
vk/meta: Use anv_* internal entrypoints

9 years agovk: Implement allocation count query
Kristian Høgsberg [Mon, 18 May 2015 02:25:28 +0000 (19:25 -0700)]
vk: Implement allocation count query

9 years agovk: Change pData/pDataSize semantics
Kristian Høgsberg [Mon, 18 May 2015 02:22:52 +0000 (19:22 -0700)]
vk: Change pData/pDataSize semantics

We now always copy the entire struct unless pData is NULL and
unconditionally write back the struct size. It's not clear this is
useful if the structs may grow over time, but it seems to be the
expected behaviour for now.

9 years agovk: Return VK_SUCCESS from vkAllocDescriptorSets
Kristian Høgsberg [Mon, 18 May 2015 01:39:12 +0000 (18:39 -0700)]
vk: Return VK_SUCCESS from vkAllocDescriptorSets

This should've been returning VK_SUCCESS all along.

9 years agovk: Return VK_SUCCESS for all descriptor pool entry points
Kristian Høgsberg [Mon, 18 May 2015 01:38:34 +0000 (18:38 -0700)]
vk: Return VK_SUCCESS for all descriptor pool entry points

9 years agovk: Start Implementing vkGetFormatInfo()
Kristian Høgsberg [Mon, 18 May 2015 04:35:34 +0000 (21:35 -0700)]
vk: Start Implementing vkGetFormatInfo()

We move the format table and vkGetFormatInfo to their own file in the
process.

9 years agovk: Add script for generating ifunc entry points
Kristian Høgsberg [Sun, 17 May 2015 23:33:48 +0000 (16:33 -0700)]
vk: Add script for generating ifunc entry points

This lets us generate a hash table for vkGetProcAddress and lets us call
public functions internally without the public entrypoint overhead.

9 years agovk: Fix vulkan header inconsistency
Kristian Høgsberg [Sun, 17 May 2015 23:40:10 +0000 (16:40 -0700)]
vk: Fix vulkan header inconsistency

The function pointer typedef and the function prototype for
vkCmdClearColorImage() didn't agree. Fix the typedef to match the
prototype.

9 years agovk: Add function pointer typedef for intel extension
Kristian Høgsberg [Sun, 17 May 2015 23:39:20 +0000 (16:39 -0700)]
vk: Add function pointer typedef for intel extension

Also guard function prototype by VK_PROTOTYPES.

9 years agovk: Add missing VKAPI for vkQueueRemoveMemReferences
Kristian Høgsberg [Sat, 16 May 2015 05:05:09 +0000 (22:05 -0700)]
vk: Add missing VKAPI for vkQueueRemoveMemReferences

9 years agoMerge remote-tracking branch 'fdo-personal/wip/nir-vtn' into vulkan
Jason Ekstrand [Sat, 16 May 2015 19:43:16 +0000 (12:43 -0700)]
Merge remote-tracking branch 'fdo-personal/wip/nir-vtn' into vulkan

This adds the SPIR-V -> NIR translator.

9 years agonir/spirv: Don't assert that the current block is empty
Jason Ekstrand [Sat, 16 May 2015 19:34:32 +0000 (12:34 -0700)]
nir/spirv: Don't assert that the current block is empty

It's possible that someone will give us SPIR-V code in which someone
needlessly branches to new blocks.  We should handle that ok now.

9 years agonir/spirv: Add initial support for samplers
Jason Ekstrand [Sat, 16 May 2015 19:34:15 +0000 (12:34 -0700)]
nir/spirv: Add initial support for samplers

9 years agonir/spirv: Move Exp and Log to the list of currently unhandled ALU ops
Jason Ekstrand [Sat, 16 May 2015 19:33:29 +0000 (12:33 -0700)]
nir/spirv: Move Exp and Log to the list of currently unhandled ALU ops

NIR doesn't have the native opcodes for them anymore

9 years agonir/types: Add support for sampler types
Jason Ekstrand [Sat, 16 May 2015 19:32:58 +0000 (12:32 -0700)]
nir/types: Add support for sampler types

9 years agonir/spirv: Make the global constants in spirv.h static
Jason Ekstrand [Wed, 6 May 2015 22:36:54 +0000 (15:36 -0700)]
nir/spirv: Make the global constants in spirv.h static

I've been promissed in a bug that this will be fixed in a future version of
the header.  However, in the interest of my branch building, I'm adding
these changes in myself for the moment.

9 years agonir/spirv: Handle jump-to-loop in a more general way
Jason Ekstrand [Wed, 6 May 2015 22:33:21 +0000 (15:33 -0700)]
nir/spirv: Handle jump-to-loop in a more general way

9 years agonir/spirv: Handle boolean uniforms correctly
Jason Ekstrand [Wed, 6 May 2015 19:54:02 +0000 (12:54 -0700)]
nir/spirv: Handle boolean uniforms correctly

9 years agonir/spirv: Handle control-flow with loops
Jason Ekstrand [Wed, 6 May 2015 19:37:10 +0000 (12:37 -0700)]
nir/spirv: Handle control-flow with loops

9 years agonir/spirv: Set a name on temporary variables
Jason Ekstrand [Wed, 6 May 2015 19:36:31 +0000 (12:36 -0700)]
nir/spirv: Set a name on temporary variables

9 years agonir/spirv: Use the correct length for copying string literals
Jason Ekstrand [Wed, 6 May 2015 19:36:09 +0000 (12:36 -0700)]
nir/spirv: Use the correct length for copying string literals

9 years agonir/spirv: Make vtn_ssa_value handle constants as well as ssa values
Jason Ekstrand [Wed, 6 May 2015 19:35:30 +0000 (12:35 -0700)]
nir/spirv: Make vtn_ssa_value handle constants as well as ssa values

9 years agonir/spirv: Add initial support for GLSL 4.50 builtins
Jason Ekstrand [Mon, 4 May 2015 22:17:56 +0000 (15:17 -0700)]
nir/spirv: Add initial support for GLSL 4.50 builtins

9 years agonir/spirv: Split the core datastructures into a header file
Jason Ekstrand [Mon, 4 May 2015 19:25:09 +0000 (12:25 -0700)]
nir/spirv: Split the core datastructures into a header file