platform/upstream/Vulkan-Tools.git
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 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 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 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 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 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 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 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 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 agolayers: Remove the automatic dumping of DOT files.
Jon Ashburn [Tue, 17 Feb 2015 20:29:09 +0000 (13:29 -0700)]
layers:  Remove the automatic dumping of DOT files.
This is now controlled solely by the app calling drawStateDumpDOTFile()

Conflicts:
layers/draw_state.c

9 years agoglave: Add Dump() to debugger so DrawState dumping can occur on pauses
Jon Ashburn [Tue, 17 Feb 2015 20:28:11 +0000 (13:28 -0700)]
glave: Add Dump() to debugger so DrawState dumping can occur on pauses

Conflicts:
glave-generate.py

9 years agoglvdebug: Use svg instead of png.
Jeremy Hayes [Thu, 12 Feb 2015 23:15:58 +0000 (16:15 -0700)]
glvdebug: Use svg instead of png.

Conflicts:
layers/draw_state.c

Conflicts:
layers/draw_state.c

9 years agolayers: Add DrawState dot file output of descriptor details
Tobin Ehlis [Tue, 24 Feb 2015 16:16:47 +0000 (09:16 -0700)]
layers: Add DrawState dot file output of descriptor details

9 years agolayers: Fix buffer overrun in memtracker
Mark Lobodzinski [Fri, 20 Feb 2015 22:38:40 +0000 (16:38 -0600)]
layers: Fix buffer overrun in memtracker

Long function name+64-bit pointer caused buffer overrun in rendersystemtest

9 years agomisc: Use XGL_API_VERSION instead of hard coded value
Courtney Goeltzenleuchter [Tue, 24 Feb 2015 00:40:15 +0000 (17:40 -0700)]
misc: Use XGL_API_VERSION instead of hard coded value

9 years agotri: Change from having a hard-coded API version to using the latest.
Ian Elliott [Tue, 24 Feb 2015 00:10:06 +0000 (17:10 -0700)]
tri: Change from having a hard-coded API version to using the latest.

Piers actually found and fixed this, but I wanted to get it on "master" without
waiting for the rest of his changes.

9 years agolayers: In DrawState correctly clear update chain for Struct Node
Tobin Ehlis [Mon, 23 Feb 2015 23:09:58 +0000 (16:09 -0700)]
layers: In DrawState correctly clear update chain for Struct Node

9 years agolayers: Lock ObjectTracker linked-list access
Tobin Ehlis [Mon, 23 Feb 2015 21:09:16 +0000 (14:09 -0700)]
layers: Lock ObjectTracker linked-list access

9 years agolayers: Add per-thread tracking of latest cmd buffer
Tobin Ehlis [Mon, 23 Feb 2015 16:06:28 +0000 (09:06 -0700)]
layers: Add per-thread tracking of latest cmd buffer

9 years agolayers: Don't run ObjectTracker checks on NULL mem objects
Tobin Ehlis [Fri, 20 Feb 2015 19:05:30 +0000 (12:05 -0700)]
layers: Don't run ObjectTracker checks on NULL mem objects

9 years agoglave: Don't log error if replay is succesful but trace was not_ready
Jon Ashburn [Mon, 23 Feb 2015 18:07:30 +0000 (11:07 -0700)]
glave: Don't log error if replay is succesful but trace was not_ready

9 years agoglave: Fix search of mem_info list on UnmapMemory during tracing
Jon Ashburn [Fri, 20 Feb 2015 21:48:27 +0000 (14:48 -0700)]
glave: Fix search of mem_info list  on UnmapMemory during tracing

9 years agoglave: Improve logging for anomalous conditions around Map and Unmap memory
Jon Ashburn [Fri, 20 Feb 2015 20:10:52 +0000 (13:10 -0700)]
glave: Improve logging for anomalous conditions around Map and Unmap memory

9 years agoglave: Lock around access to the global mem_info list
Jon Ashburn [Fri, 20 Feb 2015 00:04:06 +0000 (17:04 -0700)]
glave: Lock around access to the global mem_info list

9 years agoglave: Fix bug in tracing CreateRenderPass with NULL attachments
Jon Ashburn [Fri, 20 Feb 2015 17:30:32 +0000 (10:30 -0700)]
glave: Fix bug in tracing CreateRenderPass with NULL attachments

9 years agolayers: Multi-threading fixes for DrawState
Tobin Ehlis [Fri, 20 Feb 2015 16:30:06 +0000 (09:30 -0700)]
layers: Multi-threading fixes for DrawState

9 years agolayers: Disable DrawState dot file autodump and an incorrect validation check
Tobin Ehlis [Thu, 19 Feb 2015 22:26:49 +0000 (15:26 -0700)]
layers: Disable DrawState dot file autodump and an incorrect validation check

9 years agolayers: Fix DrawState bug to correctly shadow image/update structs
Tobin Ehlis [Thu, 19 Feb 2015 20:14:59 +0000 (13:14 -0700)]
layers: Fix DrawState bug to correctly shadow image/update structs

9 years agoloader: Fix merge of layer names from env and CreateDevice
Jon Ashburn [Wed, 18 Feb 2015 18:29:58 +0000 (11:29 -0700)]
loader: Fix merge of layer names from env and CreateDevice

9 years agoloader: initialize result for xglCreateInstance().
Ian Elliott [Thu, 19 Feb 2015 22:49:03 +0000 (15:49 -0700)]
loader: initialize result for xglCreateInstance().

9 years agonulldrv: Return proper structure size for buffer object
Ian Elliott [Thu, 19 Feb 2015 21:04:56 +0000 (14:04 -0700)]
nulldrv: Return proper structure size for buffer object

This defect was cloned from the Intel driver; and so it gets the same fix:-).

9 years agolayers: DrawState bug fixes
Tobin Ehlis [Thu, 19 Feb 2015 16:55:18 +0000 (09:55 -0700)]
layers: DrawState bug fixes

Correctly track UpdateChain per Set and free the shadowNode
Fix pTypes array to correctly track update types per descriptor
Fix upperBound code to correctly loop over all elements of layout
Various NULL ptr checks

9 years agolayers: Fix memtracker reporting related to freeing presentable image memory
Mark Lobodzinski [Thu, 19 Feb 2015 00:06:24 +0000 (18:06 -0600)]
layers: Fix memtracker reporting related to freeing presentable image memory

Output an error if presentable image memory is explicitly freed, and avoid
warnings if it is not.

9 years agoloader: do not set RTLD_DEEPBIND
Chia-I Wu [Wed, 18 Feb 2015 21:39:54 +0000 (14:39 -0700)]
loader: do not set RTLD_DEEPBIND

Instead, build layers with -Bsymbolic.  This should fix (or hide) a reported
crash with overriden malloc()/free().

9 years agoloader: Correct layer path lookup name
Courtney Goeltzenleuchter [Thu, 19 Feb 2015 03:03:02 +0000 (20:03 -0700)]
loader: Correct layer path lookup name

9 years agolayers: Add debug code to DrawState for alloc and free calls
Tobin Ehlis [Tue, 17 Feb 2015 23:27:03 +0000 (16:27 -0700)]
layers: Add debug code to DrawState for alloc and free calls

9 years agolayers: Fix DrawState bug in UPDATE image/buffer shadowing
Tobin Ehlis [Wed, 18 Feb 2015 21:38:11 +0000 (14:38 -0700)]
layers: Fix DrawState bug in UPDATE image/buffer shadowing

9 years agolayers: Add memory management to DrawState
Tobin Ehlis [Tue, 17 Feb 2015 16:54:13 +0000 (09:54 -0700)]
layers: Add memory management to DrawState

Added code in DrawState to free memory allocations
Updated DrawState Layout to save full CreateInfo tree

9 years agolayers: Correctly track pSetBindPoints per stage in DrawState layer
Tobin Ehlis [Mon, 16 Feb 2015 21:29:30 +0000 (14:29 -0700)]
layers: Correctly track pSetBindPoints per stage in DrawState layer

9 years agoWin: Can now use "static inline" on Windows (i.e. no code mods).
Ian Elliott [Wed, 18 Feb 2015 19:38:04 +0000 (12:38 -0700)]
Win: Can now use "static inline" on Windows (i.e. no code mods).

9 years agoloader: Windows now uses registry + env's (diff names)
Ian Elliott [Tue, 17 Feb 2015 17:33:47 +0000 (10:33 -0700)]
loader: Windows now uses registry + env's (diff names)

The loader on Windows now looks in the Windows Registry + in environment
variables for the following (Note the new names--"LIB" was dropped):

- XGL_DRIVERS_PATH
- XGL_LAYERS_PATH
- XGL_LAYER_NAMES

Linux still retains the "LIB" at the start of the environment variable names.

If both are used, they are concatenated into a semi-colon-delimited list.

A generic loader_get_registry_and_env() func is used to perform this (only for
Windows, since Linux doesn't have a registry).

9 years agoWin: Build Glave replay on Windows (REQUIRES NEW CMAKE COMMAND).
David Pinedo [Tue, 10 Feb 2015 22:02:08 +0000 (15:02 -0700)]
Win: Build Glave replay on Windows (REQUIRES NEW CMAKE COMMAND).

Starting with this commit, building XGL on Windows requires explicitly stating
whether a "Release" or "Debug" build is desired when doing the initial cmake
command.  This is documented in the "Build.md" file.

Linux trace of cube plays to completion on windows!

Changes to the null driver:
    advertise support for both WIN WSI and X11 WSI
    added support for xglCreateBufferView
    and added a logging capability (turned off by default)

Still have some issues:
    - x11 support emulation/replacement
    - Windows null driver creates a bad device queue
    - Need to copy libraries to dir containing the .exe

Glave ext libs are now put in same dir as glvreplay64.exe...

This change only affects Windows -- on Linux the libs and
the glave replay progs were already in the same dir.

Also added a line to BUILD.md regarding the need to have XGL.dll
in PATH.

9 years agoRedo the way Glave settings are obtained.
Ian Elliott [Wed, 18 Feb 2015 22:35:00 +0000 (15:35 -0700)]
Redo the way Glave settings are obtained.

9 years agonulldrv: Creation of the nulldrv, for use on Windows.
David Pinedo [Tue, 3 Feb 2015 01:02:40 +0000 (18:02 -0700)]
nulldrv: Creation of the nulldrv, for use on Windows.

Since the sample Intel driver hasn't been ported to Windows, this nulldrv is
being used to bootstrap Windows support.  It can also provide a hint to new
IHV's for how to set the magic number.

9 years agolayers: Updated mem_tracker for new header changes.
Mark Lobodzinski [Wed, 18 Feb 2015 22:38:17 +0000 (16:38 -0600)]
layers:  Updated mem_tracker for new header changes.

Brought mem-tracker up to header rev 47. Worked over tests and
demos to remove errors.

9 years agoicd: add likely()/unlikely()
Chia-I Wu [Tue, 17 Feb 2015 21:20:58 +0000 (14:20 -0700)]
icd: add likely()/unlikely()

They will be expanded to __builtin_expect(...) on gcc.

9 years agoWin: MUST USE "STATIC_INLINE" instead of "static inline"
Ian Elliott [Tue, 17 Feb 2015 23:44:44 +0000 (16:44 -0700)]
Win: MUST USE "STATIC_INLINE" instead of "static inline"

9 years agoloader: Enable env extensions as well as app.
Courtney Goeltzenleuchter [Tue, 17 Feb 2015 21:21:21 +0000 (14:21 -0700)]
loader: Enable env extensions as well as app.

9 years agocmake: support clang as the compiler
Chia-I Wu [Tue, 17 Feb 2015 16:55:34 +0000 (09:55 -0700)]
cmake: support clang as the compiler

One can use clang by running cmake like

 $ cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..

9 years agolayers: Fix compilation error on ObjectTracker and Generic layer
Jon Ashburn [Tue, 17 Feb 2015 18:03:12 +0000 (11:03 -0700)]
layers: Fix compilation error on ObjectTracker and Generic layer

9 years agointel: Add colorAttachmentCount
Courtney Goeltzenleuchter [Tue, 10 Feb 2015 21:06:25 +0000 (14:06 -0700)]
intel: Add colorAttachmentCount

bug #13268
header revision: r29554
Add colorAttachmentCount to CREATE_RENDER_PASS_INFO to aid tracing tools.

9 years agointel: Remove unnecessary dualBlendMode enable
Courtney Goeltzenleuchter [Wed, 11 Feb 2015 21:14:45 +0000 (14:14 -0700)]
intel: Remove unnecessary dualBlendMode enable

bug #12925
header version: r29511
Can determine dualBlendModeEnable from blend information provided.
Integrate review feedback.

9 years agointel: Remove scissor enable and scissor count
Courtney Goeltzenleuchter [Wed, 11 Feb 2015 21:13:34 +0000 (14:13 -0700)]
intel: Remove scissor enable and scissor count

bug #12925
header version: r29511
Remove separate scissor enable and scissor count. Scissor always
enabled and must always provide scissor rect for every viewport.

9 years agoAdd detail on cloning repo
Courtney Goeltzenleuchter [Fri, 13 Feb 2015 16:30:42 +0000 (09:30 -0700)]
Add detail on cloning repo

9 years agolayers: Have DrawState and MemTracker use the common code for reporting
Jon Ashburn [Mon, 16 Feb 2015 15:46:53 +0000 (08:46 -0700)]
layers: Have DrawState and MemTracker use the common code for reporting

9 years agolayers: Add settings controls for the generated layers. Includes ParamChecker, Object...
Jon Ashburn [Mon, 16 Feb 2015 15:26:50 +0000 (08:26 -0700)]
layers: Add settings controls for the generated layers. Includes ParamChecker, ObjectTracker and Generic. Adds the controls for ReportingLevel, ReportingAction and log filename for these layers. Place the common callback code in a header these layers can include.

9 years agolayers: Add simple txt print of CmdBuffer contents
Tobin Ehlis [Fri, 13 Feb 2015 20:30:07 +0000 (13:30 -0700)]
layers: Add simple txt print of CmdBuffer contents

9 years agolayers: Track DrawState on a per-cmd-buffer basis
Tobin Ehlis [Fri, 13 Feb 2015 17:26:14 +0000 (10:26 -0700)]
layers: Track DrawState on a per-cmd-buffer basis

9 years agoloader: Change sample code to not include a pointer.
Ian Elliott [Fri, 13 Feb 2015 23:51:05 +0000 (16:51 -0700)]
loader: Change sample code to not include a pointer.

It could imply that the ICD needs to allocate space for it.  The pointer is
really to be owned by the loader.

9 years agoloader: Fix and enhance README.md.
Ian Elliott [Fri, 13 Feb 2015 18:23:05 +0000 (11:23 -0700)]
loader: Fix and enhance README.md.

Several adjustments were made, including:

1) Add some MS Windows-related information.  For example, the loader is
   "XGL.dll" on Windows, and "libSGL.so" on Linux.  Also, the separator
   character is given, for each OS, for the PATH environment variables.

2) Add some addition information about dispatching.

3) Add example code for setting the magic value in the ICD.

4) Fix the numbering that looked fine in the "mardown" website, but not on
   GitHub.

5) Try to improve grammar, punctuation, etc.

9 years agoEliminate "-Wsign-compare" warnings on Linux ...
Ian Elliott [Fri, 13 Feb 2015 21:29:21 +0000 (14:29 -0700)]
Eliminate "-Wsign-compare" warnings on Linux ...

With these being newly enabled for the loader, layers, and demos (and it turns
out, for the icd/common directory), it is appropriate to fix them.

9 years agoEnable additional Linux warnings, for loader/layers/demos.
Ian Elliott [Fri, 13 Feb 2015 21:04:01 +0000 (14:04 -0700)]
Enable additional Linux warnings, for loader/layers/demos.

The intention is for Linux developers to catch more problems (real or
annoyance) before porting to Windows.

The new warnings are:

-Wpointer-arith
-Wsign-compare

These are not used for the Intel sample driver (mostly because the Intel
compiler from Mesa3D generates lots of these warnings, which code we don't want
to modify), nor for the tests.

Not sure how this affects Glave on Linux.

9 years agoglave: Replay for UpdateDescriptor handle multiple replays
Jon Ashburn [Fri, 13 Feb 2015 18:25:53 +0000 (11:25 -0700)]
glave: Replay for UpdateDescriptor handle multiple replays

The local chain copy had embedded pointers into the original chain. So
multiple replays/remaps weren't working.  Simplify code to just save a queue
of the actaul objects that need to be remapped  and restore them  after making
the call to xglUpdateDescriptors().

9 years agoMinor fix/enhancement to BUILD.md.
Ian Elliott [Fri, 13 Feb 2015 17:57:55 +0000 (10:57 -0700)]
Minor fix/enhancement to BUILD.md.

1) Point CMake to www.cmake.org insead of www.python.org.

2) Give a couple of helpful pointers for ICD developers.

9 years agoWin: Attempt to keep from using Linux functions.
Ian Elliott [Fri, 13 Feb 2015 00:08:34 +0000 (17:08 -0700)]
Win: Attempt to keep from using Linux functions.

This is a hopefully-temporary solution to prevent some of the problems of
people breaking the Windows build while developing on Linux (or vice-versa).

This uses macros of the names of Linux/Windows-specific functions in order to
catch people who use those functions directly, instead of using the
platform-compatibility-layer functions.

In order to avoid problems with the layers #include'ing "loader_platform.h"
before they #include system files (which can mess them up), I #include
"loader_platform.h" twice.  The 2nd time, it #define's the hopefully-temporary
macros.

Note: For some reason, we can't #define LoadLibrary().  It generates warnings
on Windows.

9 years agoLinux: Add back the "C99" comment within "loader_platform.h"
Ian Elliott [Thu, 12 Feb 2015 23:44:56 +0000 (16:44 -0700)]
Linux: Add back the "C99" comment within "loader_platform.h"