platform/upstream/Vulkan-LoaderAndValidationLayers.git
9 years agoglave: Fix from Peter to step by packet index
Tobin Ehlis [Tue, 3 Mar 2015 21:01:43 +0000 (14:01 -0700)]
glave: Fix from Peter to step by packet index

9 years agoglave: Fix svg resize behavior.
Jeremy Hayes [Mon, 2 Mar 2015 18:21:39 +0000 (11:21 -0700)]
glave: Fix svg resize behavior.

9 years agoWin: Cannot use the "dot" functionality yet on Windows.
Ian Elliott [Tue, 3 Mar 2015 16:50:57 +0000 (09:50 -0700)]
Win: Cannot use the "dot" functionality yet on Windows.

9 years agolayers: Made mem_tracker thread-safe
Mark Lobodzinski [Tue, 3 Mar 2015 02:23:52 +0000 (20:23 -0600)]
layers: Made mem_tracker thread-safe

Brought up to par with DrawState and ObjectTracker.

9 years agoFix "xcb_nvidia.c" for use of the nulldrv.
Ian Elliott [Tue, 3 Mar 2015 00:49:02 +0000 (17:49 -0700)]
Fix "xcb_nvidia.c" for use of the nulldrv.

We're using "XGL_DRIVERS_PATH" for the env var.

9 years agoTurn on ability to trace on Windows with NVIDIA driver.
Ian Elliott [Mon, 2 Mar 2015 21:05:18 +0000 (14:05 -0700)]
Turn on ability to trace on Windows with NVIDIA driver.

I can now trace the "tri" and "cube" demos.  Two changes were needed:

1) Must link the programs against XGL.dll instead of XGL.lib (the "XGL" library
   instead of "XGLstatic").

2) The glv_MessageStream_SetupHostSocket() function needed to "create" the
   lock/critical section that's used in the Glave interconnect code.

9 years agoAdd NOMINMAX and VC_EXTRALEAN to some windows files
Piers Daniell [Sun, 1 Mar 2015 16:32:56 +0000 (09:32 -0700)]
Add NOMINMAX and VC_EXTRALEAN to some windows files

This avoids these headers leaking conflicting Windows symbols to
non-Windows code.

9 years agoImprove compatibility of XCB_nvidia and Source2
Piers Daniell [Sun, 1 Mar 2015 14:50:14 +0000 (07:50 -0700)]
Improve compatibility of XCB_nvidia and Source2

9 years agoWin/xcb_nvidia: Remove compiler warnings with xcb_nvidia.
Ian Elliott [Fri, 27 Feb 2015 18:14:56 +0000 (11:14 -0700)]
Win/xcb_nvidia: Remove compiler warnings with xcb_nvidia.

9 years agoWin/glave: Remove new compiler warnings on Windows.
Ian Elliott [Fri, 27 Feb 2015 18:10:59 +0000 (11:10 -0700)]
Win/glave: Remove new compiler warnings on Windows.

Compiling the glvtrace_xgl64.dll library on Windows (see prior commit) resulted
in new warnings, some of which seemed serious (e.g. using "sizeof(void)", which
is 1 on Linux, with GCC, but is 0 on Windows).

9 years agoWin/glave: Compile/link the glvtrace_xgl64.dll library on Windows.
Ian Elliott [Fri, 27 Feb 2015 00:01:30 +0000 (17:01 -0700)]
Win/glave: Compile/link the glvtrace_xgl64.dll library on Windows.

9 years agoLinux: Must use "__linux__" instead of "PLATFORM_LINUX".
Ian Elliott [Thu, 26 Feb 2015 21:34:52 +0000 (14:34 -0700)]
Linux: Must use "__linux__" instead of "PLATFORM_LINUX".

There are some places (e.g. glave) where PLATFORM_LINUX is #define'd, but
normally we need to rely on "__linux__", which is #define'd by the compiler
(i.e. we can rely on it being there).

9 years agoxcb_nvidia: Hack in ability to use registry instead of getenv().
Ian Elliott [Thu, 26 Feb 2015 20:52:52 +0000 (13:52 -0700)]
xcb_nvidia: Hack in ability to use registry instead of getenv().

Trying to make it easy/quick to change between ICDs, which the registry allows.
Need to clean this up sometime.

9 years agodemos/cube: use a single layout
Chia-I Wu [Mon, 23 Feb 2015 17:41:08 +0000 (10:41 -0700)]
demos/cube: use a single layout

Conflicts:
demos/cube.c

9 years agoGet the trace player to work with Windows
Piers Daniell [Tue, 24 Feb 2015 20:58:47 +0000 (13:58 -0700)]
Get the trace player to work with Windows

This change modifies many of the generators to use "#if
defined(PLATFORM_LINUX) || defined(XCB_NVIDIA)" to choose between using
XCB or WIN32 native.

9 years agoxcb: Deal with case of getenv() returning NULL.
Ian Elliott [Fri, 20 Feb 2015 21:12:18 +0000 (14:12 -0700)]
xcb: Deal with case of getenv() returning NULL.

At least on Windows, getenv() returns NULL when the environment variable is not
found.  This causes a problem inside of "xcb_nvidia.cpp" when a C++ std::string
is assigned the return value of getenv().

9 years agoModify xcb_nvidia/nulldrv to also support nulldrv.
Ian Elliott [Thu, 19 Feb 2015 21:26:19 +0000 (14:26 -0700)]
Modify xcb_nvidia/nulldrv to also support nulldrv.

This allows LunarG and others without the NVIDIA XGL driver to use the nulldrv
on Windows.

9 years agoUpdate tri and cube with stage
Piers Daniell [Mon, 23 Feb 2015 23:23:13 +0000 (16:23 -0700)]
Update tri and cube with stage

These changes were cherry-picked from nvidia-dev-20150218 and
KhronosGroup/GDC-stable.

9 years agoRevert "misc: Add xglRecordMemoryRange entrypoint and use it in Glave"
Jon Ashburn [Tue, 3 Mar 2015 00:12:31 +0000 (17:12 -0700)]
Revert "misc: Add xglRecordMemoryRange entrypoint and use it in Glave"

This reverts commit fea3e5fc1ef2f3c9e4f06ab5a8d682f89b76377e.

9 years agolayers: Update last global DS in DrawState when UpdateDescriptors is called
Tobin Ehlis [Mon, 2 Mar 2015 23:09:15 +0000 (16:09 -0700)]
layers: Update last global DS in DrawState when UpdateDescriptors is called

9 years agolayers: DrawState Cmd Buffer tracking improvements
Tobin Ehlis [Mon, 2 Mar 2015 17:16:40 +0000 (10:16 -0700)]
layers: DrawState Cmd Buffer tracking improvements

Add DbgMarker cmds to cmd buffer instruction linked list
Display last 10 touched CBs in dot file
Highlight last touched CB in dot file with green color

9 years agomisc: Add xglRecordMemoryRange entrypoint and use it in Glave
Jon Ashburn [Fri, 27 Feb 2015 19:53:41 +0000 (12:53 -0700)]
misc: Add xglRecordMemoryRange entrypoint and use it in Glave

9 years agoglvdebug: Disable the timeline when replay is in progress.
Peter Lohrmann [Mon, 2 Mar 2015 17:41:29 +0000 (09:41 -0800)]
glvdebug: Disable the timeline when replay is in progress.

* Currently the timeline doesn't appear any different when it is disabled, but the user cannot interact with it, which is the intent.

9 years agoglvdebug_xgl: Draw State Diagram and Command Buffer Diagram are now only added or...
Peter Lohrmann [Mon, 2 Mar 2015 17:36:28 +0000 (09:36 -0800)]
glvdebug_xgl: Draw State Diagram and Command Buffer Diagram are now only added or enabled if the associated SVG diagram has been generated.

* This should help prevent empty windows from appearing in the UI.
* Also fix a regression that was causing most of the UI to be enabled during replay, when it should have been disabled so that the user could not navigate between API Calls.

9 years agoglvdebug: Add method for qcontroller to enable/disable state viewer tabs.
Peter Lohrmann [Mon, 2 Mar 2015 17:04:28 +0000 (09:04 -0800)]
glvdebug: Add method for qcontroller to enable/disable state viewer tabs.

* glvdebug_xgl now uses this to properly disable the Draw State Diagram and Cmd Buffer Diagram during replay, and
to re-enable them if an updated svg diagram is available after pausing.

9 years agoglvdebug_xgl: Improve performance of appling settings while a ProxyModel is being...
Peter Lohrmann [Mon, 2 Mar 2015 16:29:23 +0000 (08:29 -0800)]
glvdebug_xgl: Improve performance of appling settings while a ProxyModel is being used.

* If the ProxyModel (currently either GroupByThreads or GroupByFrames) is not changed when the settings are applied,
then don't reset the ProxyModel's source model. This was causing the tree to get recreated unexpectedly, which can
take significant time on a large trace file.

9 years agoglave: Set layer extension func pointers to NULL when the device is destroyed.
Peter Lohrmann [Fri, 27 Feb 2015 23:35:15 +0000 (15:35 -0800)]
glave: Set layer extension func pointers to NULL when the device is destroyed.

* This prevents invalid memory access if the pointers are referenced after the device is destroyed and before a new one is created.

9 years agolayers: Issue endl at end of output
Courtney Goeltzenleuchter [Thu, 26 Feb 2015 18:40:39 +0000 (11:40 -0700)]
layers: Issue endl at end of output

9 years agodemos: Clean up renderpass and framebuffer
Courtney Goeltzenleuchter [Thu, 26 Feb 2015 00:53:18 +0000 (17:53 -0700)]
demos: Clean up renderpass and framebuffer

9 years agointel: enable L3 cache
Chia-I Wu [Fri, 27 Feb 2015 16:51:16 +0000 (09:51 -0700)]
intel: enable L3 cache

Set GEN7_MOCS_L3_ON everywhere.

9 years agolayers: In DrawState track last global pipe state and dump that to dot diagram
Tobin Ehlis [Fri, 27 Feb 2015 15:48:43 +0000 (08:48 -0700)]
layers: In DrawState track last global pipe state and dump that to dot diagram

9 years agoglvdebug: Minor clean up of the connection types between the ReplayWorker and the...
Peter Lohrmann [Fri, 27 Feb 2015 17:30:35 +0000 (09:30 -0800)]
glvdebug: Minor clean up of the connection types between the ReplayWorker and the ReplayWidget.

9 years agoMerge ReplayThread change with Detach Replay Window.
Peter Lohrmann [Fri, 27 Feb 2015 16:34:47 +0000 (08:34 -0800)]
Merge ReplayThread change with Detach Replay Window.

9 years agoglave: Add "Detach" checkbox.
Jeremy Hayes [Wed, 25 Feb 2015 23:56:06 +0000 (16:56 -0700)]
glave: Add "Detach" checkbox.

9 years agoglvdebug: Move QReplayWorker into a separate thread.
Peter Lohrmann [Thu, 26 Feb 2015 18:51:36 +0000 (10:51 -0800)]
glvdebug: Move QReplayWorker into a separate thread.

* In order to achieve this correctly, the QController could not inherit from the QReplayWorker; instead the controller now has a worker object. The QReplayWidget puts the worker on a separate thread.
* Any interaction between the QReplayWorker and the rest of the UI must be done through Qt's signals and slots, which knows how to pass data between threads.
* Performance of replaying within the UI is now on-par with replaying using glvreplay64 from the command line, based on the cube demo. Increasing the validation level will slow down the replay preformance (as expected), and printing of validation messages will also slow down replay performance (as expected).

9 years agolayers: Fix null pointer reference in MemTracker
Mark Lobodzinski [Thu, 26 Feb 2015 21:18:57 +0000 (15:18 -0600)]
layers: Fix null pointer reference in MemTracker

Copy-paste error caused segfault in Cube demo, among others.

9 years agoglave: Add command buffer diagram.
Jeremy Hayes [Thu, 26 Feb 2015 22:59:19 +0000 (15:59 -0700)]
glave: Add command buffer diagram.

9 years agolayers: Remove spurious assert.
Mark Lobodzinski [Fri, 27 Feb 2015 00:42:09 +0000 (18:42 -0600)]
layers: Remove spurious assert.

This was unnecessarily crashing the valve tests.

9 years agolayers: Fix MemTracker memory leak
Mark Lobodzinski [Fri, 27 Feb 2015 00:33:10 +0000 (18:33 -0600)]
layers: Fix MemTracker memory leak

Call to string helper function was not freeing returned memory.

9 years agolayers: Correctly represent Descriptor-related arrays in DrawState dot file
Tobin Ehlis [Thu, 26 Feb 2015 19:57:08 +0000 (12:57 -0700)]
layers: Correctly represent Descriptor-related arrays in DrawState dot file

9 years agoglave: cleanup mem_info list as it shrinks during tracing
Jon Ashburn [Thu, 26 Feb 2015 18:45:28 +0000 (11:45 -0700)]
glave: cleanup mem_info list as it shrinks during tracing

9 years agointel: add intel_handle
Chia-I Wu [Mon, 19 Jan 2015 03:14:00 +0000 (11:14 +0800)]
intel: add intel_handle

intel_handle is the base struct of any API handle, with its own helper
functions.  Move magic from intel_base to the new intel_handle.

9 years agointel: add support for per-instance GPU enumeration
Chia-I Wu [Fri, 20 Feb 2015 19:50:12 +0000 (12:50 -0700)]
intel: add support for per-instance GPU enumeration

Every instance should be indepedenent and have its own list of intel_gpus.

9 years agointel: an XGL_INSTANCE is not an XGL_OBJECT
Chia-I Wu [Fri, 20 Feb 2015 19:26:08 +0000 (12:26 -0700)]
intel: an XGL_INSTANCE is not an XGL_OBJECT

It should not embed an intel_obj nor be created by intel_base_create().  Note
that there is an issue with both the old and new code: the allocation of
intel_instance uses the default allocator instead of the app-provided
allocator.  It will be fixed later.

9 years agointel: allow GPU re-enumeration
Chia-I Wu [Fri, 20 Feb 2015 20:10:25 +0000 (13:10 -0700)]
intel: allow GPU re-enumeration

When apps see XGL_ERROR_DEVICE_LOST, they release everything and enumerate
GPUs again.  The call to intel_gpu_remove_all() was in
xglInitAndEnumerateGpus(), but it was missing in the new xglEnumerateGpus().

9 years agointel: rename intel.c to instance.c
Chia-I Wu [Fri, 20 Feb 2015 22:09:11 +0000 (15:09 -0700)]
intel: rename intel.c to instance.c

There is now XGL_INSTANCE for GPU enumeration and things happen before it.

9 years agointel: rename intel_gpa.c to gpa.c
Chia-I Wu [Fri, 20 Feb 2015 22:08:31 +0000 (15:08 -0700)]
intel: rename intel_gpa.c to gpa.c

9 years agointel: move xglEnumerateLayers() to gpu.c
Chia-I Wu [Fri, 20 Feb 2015 22:07:57 +0000 (15:07 -0700)]
intel: move xglEnumerateLayers() to gpu.c

We are going to rename intel.c to instance.c, and xglEnumerateLayers()
definitely does not belong to instance.c.

9 years agolayer: Fixed options settings for generated layers, fixed typos
Mark Lobodzinski [Wed, 25 Feb 2015 21:14:06 +0000 (15:14 -0600)]
layer: Fixed options settings for generated layers, fixed typos

Handling of non-zero default values now also fixed.

9 years agointel: fix waiting of present fences
Chia-I Wu [Wed, 25 Feb 2015 22:06:15 +0000 (15:06 -0700)]
intel: fix waiting of present fences

For presentation fences, we should wait until the server has submitted the
presentation command to the kernel _and_ the GPU has executed the command.
We failed to wait for the latter until this fix.

9 years agolayers: Fix Memtracker fence-related memory leak
Mark Lobodzinski [Thu, 26 Feb 2015 00:11:05 +0000 (18:11 -0600)]
layers: Fix Memtracker fence-related memory leak

MemTracker created internal fence objects to locally track command buffer
completion, but these objects were never destroyed.

9 years agoWin: Fix compilation error on Windows (xgl_helper.py).
Ian Elliott [Thu, 26 Feb 2015 00:40:38 +0000 (17:40 -0700)]
Win: Fix compilation error on Windows (xgl_helper.py).

Visual Studio doesn't like the following code construct:

    if (<some test>)
        return <something>;
    <type> variable [= <intial-value>];

We have to use curly-braces, as in:

    if (<some test>) {
        return <something>;
    }
    <type> variable [= <intial-value>];

9 years agoWin: layers (draw_state.c): Fix compilation error on Windows.
Ian Elliott [Thu, 26 Feb 2015 00:34:46 +0000 (17:34 -0700)]
Win: layers (draw_state.c): Fix compilation error on Windows.

Visual Studio doesn't like:

            static const uint32_t NUM_COLORS = 7;
            char* edgeColors[NUM_COLORS];

Instead, we need to do:

             char* edgeColors[NUM_COLORS];

9 years agolayers: Track WsiCreatePresentableImage image object
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 23:58:34 +0000 (16:58 -0700)]
layers: Track WsiCreatePresentableImage image object

The memory returned by WsiGetPresentableImage is unique
and cannot be freed or unbound by the app. Thus only object tracker
only needs to track the image object.

9 years agolayers: Do not track PHYSICAL_GPUS
Courtney Goeltzenleuchter [Thu, 26 Feb 2015 00:13:27 +0000 (17:13 -0700)]
layers: Do not track PHYSICAL_GPUS

The application does not create PHYSICAL_GPU objects
so do not track them.

9 years agolayers: Do not track Queue objects
Courtney Goeltzenleuchter [Thu, 26 Feb 2015 00:12:26 +0000 (17:12 -0700)]
layers: Do not track Queue objects

Queue objects are not created by an application and
thus never destroyed. Thus do not need to track.

9 years agolayers: flush logged output so it's visible immediately
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 23:56:00 +0000 (16:56 -0700)]
layers: flush logged output so it's visible immediately

9 years agodemos: Clean up objects after cmd buf built
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 23:55:23 +0000 (16:55 -0700)]
demos: Clean up objects after cmd buf built

9 years agodemos: Update to single layout
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 22:13:35 +0000 (15:13 -0700)]
demos: Update to single layout

9 years agointel: use buffer type memory for linear formats
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 20:54:22 +0000 (13:54 -0700)]
intel: use buffer type memory for linear formats

To behave in a similar fashion to other IHVs we need
to return XGL_MEMORY_TYPE_BUFFER for images that
use format_class of LINEAR and XGL_MEMORY_TYPE_IMAGE for
all other format classes.

9 years agodemos: Be sure to initialize pNext
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 19:49:04 +0000 (12:49 -0700)]
demos: Be sure to initialize pNext

9 years agodemos: Bug fix: Unbind image object
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 19:48:19 +0000 (12:48 -0700)]
demos: Bug fix: Unbind image object

9 years agodemos: Be sure to request correct memory type
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 18:48:28 +0000 (11:48 -0700)]
demos: Be sure to request correct memory type

9 years agodemos: Add use_staging option
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 18:46:58 +0000 (11:46 -0700)]
demos: Add use_staging option

Specifying --use_staging as a command line argument to tri
will force tri to upload the texture via a linear mapped staging buffer.

9 years agocube: Use staging buffer for texture upload
Courtney Goeltzenleuchter [Tue, 17 Feb 2015 19:54:31 +0000 (12:54 -0700)]
cube: Use staging buffer for texture upload

9 years agodemos: Integrate feedback from NVIDIA
Courtney Goeltzenleuchter [Sat, 14 Feb 2015 01:20:24 +0000 (18:20 -0700)]
demos: Integrate feedback from NVIDIA

9 years agodemos: Refactor to simplify and optimize
Courtney Goeltzenleuchter [Sat, 14 Feb 2015 00:52:46 +0000 (17:52 -0700)]
demos: Refactor to simplify and optimize

Will now check if texturing is supported on linear, CPU accessible
textures. If so, just uses that. If not, will use a staging buffer
to copy to optimized layout texture image.

9 years agointel: linear images require buffer type memory
Courtney Goeltzenleuchter [Wed, 25 Feb 2015 18:01:35 +0000 (11:01 -0700)]
intel: linear images require buffer type memory

9 years agolayers: Check for NULL pointer with dynamic_display()
Jon Ashburn [Wed, 25 Feb 2015 19:45:23 +0000 (12:45 -0700)]
layers: Check for NULL pointer with dynamic_display()

9 years agoglave: Fix locking of mem_info entries in UnmapMemory
Jon Ashburn [Wed, 25 Feb 2015 20:51:07 +0000 (13:51 -0700)]
glave: Fix locking of mem_info entries in UnmapMemory

The retruned entry pointer could change after lock released in the case the mem info list was realloc.

9 years agolayers: Fix DrawState buffer over-run when clearing descriptors
Tobin Ehlis [Wed, 25 Feb 2015 23:34:54 +0000 (16:34 -0700)]
layers: Fix DrawState buffer over-run when clearing descriptors

9 years agolayers: Drawstate color descriptor edges and correctly clear slot mappings
Tobin Ehlis [Wed, 25 Feb 2015 22:01:21 +0000 (15:01 -0700)]
layers: Drawstate color descriptor edges and correctly clear slot mappings

9 years agolayers: Fix layer config file options
Mark Lobodzinski [Wed, 25 Feb 2015 18:23:20 +0000 (12:23 -0600)]
layers: Fix layer config file options

Needed to end up with enums here, added this option.

9 years agolayers: Validation check for CPU_VISIBLE bit set on MapMemory calls
Mark Lobodzinski [Wed, 25 Feb 2015 18:16:04 +0000 (12:16 -0600)]
layers: Validation check for CPU_VISIBLE bit set on MapMemory calls

9 years agolayers: Fix uninitialized variable in DrawState.
Tobin Ehlis [Wed, 25 Feb 2015 18:46:39 +0000 (11:46 -0700)]
layers: Fix uninitialized variable in DrawState.

9 years agoupdate BUILD.md for imported libdrm
Chia-I Wu [Wed, 25 Feb 2015 18:52:31 +0000 (11:52 -0700)]
update BUILD.md for imported libdrm

Two new dependencies introduced by libdrm: libpciaccess-dev and
libpthread-stubs0-dev.

9 years agoglave: For color array params, correctly size trace buffer based on array type and...
Tobin Ehlis [Wed, 25 Feb 2015 18:30:27 +0000 (11:30 -0700)]
glave: For color array params, correctly size trace buffer based on array type and size

9 years agointel: use unlimited VMA cache
Chia-I Wu [Tue, 24 Feb 2015 17:06:26 +0000 (10:06 -0700)]
intel: use unlimited VMA cache

With the switch to non-GTT mapping, we should have enough address space for
unlimited VMA caching.

9 years agointel: use intel_bo_map_async() for xglMapMemory()
Chia-I Wu [Wed, 25 Feb 2015 16:47:30 +0000 (09:47 -0700)]
intel: use intel_bo_map_async() for xglMapMemory()

When the mappable aperture is near full, BOs mapped by
intel_bo_map_gtt_async() will need to evict something in their page fault
routine, creating unpredictable latencies.  It also appears that the page
fault routine waits for the BOs to be unbusy, against the idea of
GL_MAP_UNSYNCHRONIZED_BIT.

9 years agointel: add intel_bo_map_async()
Chia-I Wu [Wed, 25 Feb 2015 16:47:10 +0000 (09:47 -0700)]
intel: add intel_bo_map_async()

Non-blocking version of intel_bo_map().

9 years agocmake: remove unused FindDRM.cmake
Chia-I Wu [Wed, 25 Feb 2015 07:11:38 +0000 (15:11 +0800)]
cmake: remove unused FindDRM.cmake

9 years agointel: add and link with libintelkmd.a
Chia-I Wu [Wed, 25 Feb 2015 04:45:34 +0000 (12:45 +0800)]
intel: add and link with libintelkmd.a

Add cmake rules to build libintelkmd.a, which implements our KMD interface
using our own stripped-down libdrm.  This removes libdrm dependency.

9 years agointel: import stripped-down libdrm-2.4.59-23-g1f73578
Chia-I Wu [Wed, 25 Feb 2015 04:33:17 +0000 (12:33 +0800)]
intel: import stripped-down libdrm-2.4.59-23-g1f73578

Add selected files from libdrm, unmodified.

9 years agointel: remove libdrm dependency from libintelcompiler.a
Chia-I Wu [Wed, 25 Feb 2015 07:09:39 +0000 (15:09 +0800)]
intel: remove libdrm dependency from libintelcompiler.a

We should not need libdrm in the compiler.

9 years agoglvdebug_xgl: String replace of xgl to vk and XGL to VK for purposes of the GDC demo.
Peter Lohrmann [Tue, 24 Feb 2015 20:31:20 +0000 (12:31 -0800)]
glvdebug_xgl: String replace of xgl to vk and XGL to VK for purposes of the GDC demo.

* The most recent headers will use the vk prefix, and then the generated xgl code will automatically output the correct packet strings.
* However, the header version we're using for the GDC demo doesn't have that prefix yet, so we're doing the switch in the UI temporarily.

9 years agocompiler: Start using SIMD16 fragment shaders
Cody Northrop [Tue, 24 Feb 2015 21:15:29 +0000 (14:15 -0700)]
compiler: Start using SIMD16 fragment shaders

The SIMD16 ISA has always been available, we just hadn't hooked it
up yet in the driver.  We've got enough workloads to know if it helps
performance now, so flip the switch!

9 years agodemos/cube: use a single layout
Chia-I Wu [Mon, 23 Feb 2015 17:41:08 +0000 (10:41 -0700)]
demos/cube: use a single layout

9 years agodemos: Updated tri to use staging buffer for texture
Courtney Goeltzenleuchter [Thu, 12 Feb 2015 01:17:22 +0000 (18:17 -0700)]
demos: Updated tri to use staging buffer for texture

9 years agocube: Fix leaking resources
Courtney Goeltzenleuchter [Tue, 17 Feb 2015 16:48:44 +0000 (09:48 -0700)]
cube: Fix leaking resources

Demo was leaking Framebuffers and RenderPasses every time a new command
buffer was created (every frame). Now app creates only two command
buffers (one for each render target) and re-uses those command buffers
to draw the cube.

9 years agolayers: Add simple Cmd Buffer dot file dump to DrawState
Tobin Ehlis [Tue, 24 Feb 2015 22:40:22 +0000 (15:40 -0700)]
layers: Add simple Cmd Buffer dot file dump to DrawState

9 years agolayers: For ParamChecker, verify struct ptrs aren't NULL before validating
Tobin Ehlis [Tue, 24 Feb 2015 22:39:04 +0000 (15:39 -0700)]
layers: For ParamChecker, verify struct ptrs aren't NULL before validating

9 years agolayers: Remove destroyed/freed objects from both object lists
Mark Lobodzinski [Tue, 24 Feb 2015 22:20:24 +0000 (16:20 -0600)]
layers: Remove destroyed/freed objects from both object lists

Some objects, upon being freed or destroyed, were removed from the
object-specific linked list but not from the master object list.

9 years agoglvdebug: Enable/disable draw state widget.
Jeremy Hayes [Fri, 20 Feb 2015 22:17:08 +0000 (15:17 -0700)]
glvdebug: Enable/disable draw state widget.

Enable/disable the draw state widget instead of adding/removing the tab
containing the draw state. Display an empty scene when the widget is
disabled because disabled tabs are still visible.

9 years agoglvdebug: ReplayWorker now properly cleans up the "Play to Here" action.
Peter Lohrmann [Fri, 20 Feb 2015 20:36:31 +0000 (12:36 -0800)]
glvdebug: ReplayWorker now properly cleans up the "Play to Here" action.

* This was being leaked before, and was resulting in multiple "Play to Here" context menu items in the API Call tree.

9 years agoglvdebug: Resize text and items on Timeline.
Peter Lohrmann [Fri, 20 Feb 2015 20:24:20 +0000 (12:24 -0800)]
glvdebug: Resize text and items on Timeline.

* The Thread ID text is now drawn at 30% of the thread's area, but is cap'd at the default font height.
* The timeline items are now drawn at 40% of the thread's area, to ensure that it never overlaps the Thread Id text.

9 years agoglvdebug: Close currently open trace files before trying to open a new one.
Peter Lohrmann [Fri, 20 Feb 2015 19:17:00 +0000 (11:17 -0800)]
glvdebug: Close currently open trace files before trying to open a new one.

* Previously, If the user used File->Open to open a new trace file, the currently open trace file would not be closed. This was resulting in multiple Replayer tabs being visible in the UI (and likely a bunch of other less noticeable issues).
* Attempting to close the trace file prior to opening a new one seems the best way to resolve this issue.

9 years agoglvdebug: ThreadIds are uint32_t, not int.
Peter Lohrmann [Fri, 20 Feb 2015 18:10:25 +0000 (10:10 -0800)]
glvdebug: ThreadIds are uint32_t, not int.

* This was causing some thread ids to be printed in the timeline as negative.

9 years agoglvdebug: Timeline now resizes properly when the window is resized.
Peter Lohrmann [Thu, 19 Feb 2015 23:51:41 +0000 (15:51 -0800)]
glvdebug: Timeline now resizes properly when the window is resized.

* The zoom factor and horizontal scrollbar was not being updated correctly.

9 years agoglvdebug_xgl: Remove pipeline_dump files in more places.
Peter Lohrmann [Thu, 19 Feb 2015 18:05:54 +0000 (10:05 -0800)]
glvdebug_xgl: Remove pipeline_dump files in more places.

* Files are now deleted when the trace file is loaded, and when the replay is started or continued. This ensure that stale images are left on disk.
* Also make the file removing code portable by using QFile::Remove(..).

9 years agoglvdebug: Add option for separate replay window.
Jeremy Hayes [Thu, 19 Feb 2015 16:24:46 +0000 (09:24 -0700)]
glvdebug: Add option for separate replay window.