platform/upstream/Vulkan-Tools.git
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"

9 years agoicd: add loader magic word to verify ICD is compatible
Courtney Goeltzenleuchter [Wed, 11 Feb 2015 01:40:14 +0000 (18:40 -0700)]
icd: add loader magic word to verify ICD is compatible

We wanted a more explicit way to determine if the driver
ICD being loaded is providing compatible objects. To do
that we check for a magic dword value at the beginning
of the object. Non-compliant ICDs will assert in the loader
or the loader's dispatch functions if an object does
not have the correct value.
Dispatch checks are debug only.

9 years agoWin/icd: Move STATIC_INLINE macro, and use for magic funcs.
Ian Elliott [Thu, 12 Feb 2015 20:20:10 +0000 (13:20 -0700)]
Win/icd: Move STATIC_INLINE macro, and use for magic funcs.

The STATIC_INLINE macro is now in "xglPlatform.h".  It is also now being used
by the *_loader_magic_value() functions.  This allows it to be compiled on
Windows.

9 years agoglave: Unregister debug callback on DestroyInstance()
Jon Ashburn [Thu, 12 Feb 2015 19:37:46 +0000 (12:37 -0700)]
glave: Unregister debug callback on DestroyInstance()

9 years agoicd: Fix removing callback from global list
Jon Ashburn [Thu, 12 Feb 2015 19:36:37 +0000 (12:36 -0700)]
icd: Fix removing callback from global list

Callback wasn't getting actually removed from the list.

9 years agoglave: Handle null pointers in stringify of entrypoint parameters
Jon Ashburn [Thu, 12 Feb 2015 17:38:36 +0000 (10:38 -0700)]
glave: Handle null pointers in stringify of entrypoint parameters

Also add "*" for those pointers that are dereferenced.

9 years agoUpdate BUILD.md
Jens Owen [Thu, 12 Feb 2015 22:38:13 +0000 (15:38 -0700)]
Update BUILD.md

Update to build steps from Mike Sartain

9 years agoicd: add U_ASSERT_ONLY
Chia-I Wu [Wed, 11 Feb 2015 20:23:57 +0000 (13:23 -0700)]
icd: add U_ASSERT_ONLY

It can be applied to variables that are only used in assert().

9 years agoWin: "layers_config.cpp" must #include "loader_platform.h"
Ian Elliott [Thu, 12 Feb 2015 18:36:03 +0000 (11:36 -0700)]
Win: "layers_config.cpp" must #include "loader_platform.h"

9 years agoWin: Build both "layer_utils.lib" and "layer_utils.dll".
Ian Elliott [Thu, 12 Feb 2015 18:36:44 +0000 (11:36 -0700)]
Win: Build both "layer_utils.lib" and "layer_utils.dll".

9 years agoAdd draw state diagram on pause events.
Jeremy Hayes [Thu, 29 Jan 2015 20:03:36 +0000 (13:03 -0700)]
Add draw state diagram on pause events.

    Add a Qt image viewer.
    Use Qt image viewer to view draw state diagram.
    Dump DOT files in appropriate entry points.

Conflicts:
layers/draw_state.c

9 years agoglave: Add xgl settings that control the MemTracker and DrawState layers
Jon Ashburn [Wed, 14 Jan 2015 00:24:49 +0000 (17:24 -0700)]
glave: Add xgl settings that control the MemTracker and DrawState layers

Conflicts:
glave-generate.py
tools/glave/src/glv_extensions/glvreplay_xgl/glvreplay_xgl_settings.cpp
tools/glave/src/glv_extensions/glvreplay_xgl/glvreplay_xgl_settings.h

9 years agolayers: Add ability to override layer settings from file with a call
Jon Ashburn [Wed, 14 Jan 2015 00:24:01 +0000 (17:24 -0700)]
layers: Add ability to override layer settings from file with a call

Add setLayerOption function call.

9 years agolayers: Make layer utilities a shared library for one instance per all layers
Jon Ashburn [Tue, 13 Jan 2015 22:22:19 +0000 (15:22 -0700)]
layers: Make layer utilities a shared library for one instance per all layers

The global singleton contain map of layer settings had multiple instances. Fix
this by making it a shared library layer_utils.

Conflicts:
layers/CMakeLists.txt

9 years agoWin/Linux: Eliminate gcc compiler warning for "xglinfo.c"
Ian Elliott [Thu, 12 Feb 2015 00:36:23 +0000 (17:36 -0700)]
Win/Linux: Eliminate gcc compiler warning for "xglinfo.c"

9 years agolayers: Fixes for Windows build
Tobin Ehlis [Wed, 11 Feb 2015 21:24:02 +0000 (14:24 -0700)]
layers: Fixes for Windows build

9 years agotests demos: Fix pDataSize to be either unitinitalized or initialized.
Jon Ashburn [Wed, 11 Feb 2015 16:36:41 +0000 (09:36 -0700)]
tests demos: Fix pDataSize to be either unitinitalized or initialized.

Better tests tracing in uninit case and was a bug in the case where init was
added.

9 years agoglave: Fix entrypoints with pDataSize and pData to handle non-input param
Jon Ashburn [Wed, 11 Feb 2015 16:32:29 +0000 (09:32 -0700)]
glave: Fix entrypoints with pDataSize and pData to handle non-input param

Properly handle tracing case of pDataSize == don't care as input when
pData == NULL.
Also fix bug on replay about not warning in cases where pData == NULL and
*pDataSize is a mismatch.

9 years agoglave: remap sampler object in xglCreateDescriptorSetLayout()
Jon Ashburn [Tue, 10 Feb 2015 21:32:23 +0000 (14:32 -0700)]
glave: remap sampler object in xglCreateDescriptorSetLayout()

9 years agoglave: Actually add the memory barrier list of structures to trace file
Jon Ashburn [Tue, 10 Feb 2015 20:49:30 +0000 (13:49 -0700)]
glave: Actually add the memory barrier list of structures to trace file

Was just adding a pointer to these structures.

9 years agoglave: Remap buf/image obj for MEMORY_BARRIER for cmdWaitEvents,cmdPipeBarrier
Jon Ashburn [Tue, 10 Feb 2015 17:36:22 +0000 (10:36 -0700)]
glave: Remap buf/image obj for MEMORY_BARRIER for cmdWaitEvents,cmdPipeBarrier

9 years agoglave: Fix interpretation of allocMemory and beginCommandBuffer trace packets
Jon Ashburn [Mon, 9 Feb 2015 19:56:10 +0000 (12:56 -0700)]
glave: Fix interpretation of allocMemory and beginCommandBuffer trace packets

9 years agoglave: Qualify adding to trace packet descriptor set layout structs
Jon Ashburn [Mon, 9 Feb 2015 16:43:26 +0000 (09:43 -0700)]
glave: Qualify adding to trace packet descriptor set layout structs

9 years agoloader: Update README.md to instancing API and C++ ICDs
Jon Ashburn [Wed, 11 Feb 2015 19:40:00 +0000 (12:40 -0700)]
loader: Update README.md to instancing  API and C++ ICDs

9 years agolayers: Initial Descriptor Set output in DrawState Dot file
Tobin Ehlis [Wed, 11 Feb 2015 20:13:18 +0000 (13:13 -0700)]
layers: Initial Descriptor Set output in DrawState Dot file

Also includes various code clean-up in DrawState layer to remove non-functional code.

9 years agolayers: Restore DrawState to general level of functionality
Tobin Ehlis [Tue, 10 Feb 2015 22:35:23 +0000 (15:35 -0700)]
layers: Restore DrawState to general level of functionality

DrawState updated to track new resource binding model. Currently flagging some errors and printing out Region/Set/Layout/Update info for descriptors. Still lots of work to do. Next step is getting descriptors in dot file working again.

9 years agoWin: Eliminate VS2013 compiler warnings in "xglinfo.c"
Ian Elliott [Wed, 4 Feb 2015 23:48:37 +0000 (16:48 -0700)]
Win: Eliminate VS2013 compiler warnings in "xglinfo.c"

9 years agoWin: Build both STATIC (.lib) and SHARED (.dll) loader libraries.
Ian Elliott [Mon, 9 Feb 2015 20:21:11 +0000 (13:21 -0700)]
Win: Build both STATIC (.lib) and SHARED (.dll) loader libraries.

9 years agoglave: Fix for not correctly parsing down tree of structs in AllocMemory
Tobin Ehlis [Fri, 6 Feb 2015 19:21:42 +0000 (12:21 -0700)]
glave: Fix for not correctly parsing down tree of structs in AllocMemory

9 years agoglave: Add custom code for embedded ptrs in CmdWaitEvents and CmdPipelineBarrier...
Tobin Ehlis [Thu, 5 Feb 2015 18:29:45 +0000 (11:29 -0700)]
glave: Add custom code for embedded ptrs in CmdWaitEvents and CmdPipelineBarrier calls

9 years agolayers: Validate mem ref counts in queueSubmit call
Mark Lobodzinski [Mon, 9 Feb 2015 16:20:53 +0000 (10:20 -0600)]
layers:  Validate mem ref counts in queueSubmit call

    Grab and save max from GetGpuInfo, use this to validate count in
    QueueSubmit call, warn if GetGpuInfo wasn't called beforehand.

9 years agolayers: Handle null fence objects in validation
Mark Lobodzinski [Mon, 9 Feb 2015 16:16:20 +0000 (10:16 -0600)]
layers:  Handle null fence objects in validation

QueueSubmit can be called with a NULL fence object, updated validation
to correctly handle this case.

9 years agoMerge pull request #2 from FslNopper/master
Norbert Nopper [Sun, 8 Feb 2015 07:51:58 +0000 (08:51 +0100)]
Merge pull request #2 from FslNopper/master

Merge pull request #2 from KhronosGroup/master

9 years agoMerge pull request #2 from KhronosGroup/master
Norbert Nopper [Sat, 7 Feb 2015 08:44:14 +0000 (09:44 +0100)]
Merge pull request #2 from KhronosGroup/master

Update to head fork.

9 years agoWin: Allow the demos "tri" and "xglinfo" to build on Windows.
Ian Elliott [Sat, 7 Feb 2015 01:10:35 +0000 (18:10 -0700)]
Win: Allow the demos "tri" and "xglinfo" to build on Windows.

These had the WSI hacked out of them, since there isn't yet a standard API
in this space, and what was originally done is only for X11.

9 years agoRestore xgl.h comments and original whitespace
Piers Daniell [Fri, 6 Feb 2015 23:41:39 +0000 (16:41 -0700)]
Restore xgl.h comments and original whitespace

This keeps the real 47.1 changes in tact.

9 years agoGet xglPlatform.h working with old MSVC
Gingertoes [Fri, 6 Feb 2015 22:22:44 +0000 (15:22 -0700)]
Get xglPlatform.h working with old MSVC

This was added to revision SVN 29370 for Khronos bug 13274.

9 years agoMerge branch 'FslNopper-master'
Courtney Goeltzenleuchter [Sat, 7 Feb 2015 00:19:19 +0000 (17:19 -0700)]
Merge branch 'FslNopper-master'

9 years agoFix unitialized value in xglCreateInstance().
Ian Elliott [Thu, 5 Feb 2015 22:19:15 +0000 (15:19 -0700)]
Fix unitialized value in xglCreateInstance().

This causes a problem when no ICD is found.  The function's "res" variable is
returned despite never being intialized.  For now, I chose to return
XGL_ERROR_INCOMPATIBLE_DRIVER.

9 years agoChanged note, that everything can be done in the console.
Norbert Nopper [Fri, 6 Feb 2015 20:06:58 +0000 (21:06 +0100)]
Changed note, that everything can be done in the console.

9 years agoImproved note layout.
Norbert Nopper [Fri, 6 Feb 2015 19:57:52 +0000 (20:57 +0100)]
Improved note layout.

9 years agoAdded note on how to reinstall working driver.
Norbert Nopper [Fri, 6 Feb 2015 19:56:32 +0000 (20:56 +0100)]
Added note on how to reinstall working driver.

9 years agoMerge pull request #1 from KhronosGroup/master
Norbert Nopper [Fri, 6 Feb 2015 19:53:06 +0000 (20:53 +0100)]
Merge pull request #1 from KhronosGroup/master

Update from head fork.

9 years agomisc:Fixes to get better behavior in release builds
Tony Barbour [Thu, 5 Feb 2015 21:14:33 +0000 (14:14 -0700)]
misc:Fixes to get better behavior in release builds

Add -fno-strict-aliasing -fno-builtin-memcmp - Both of these are
used by the Mesa driver, and without the first one, we hang? in
link_shaders on release builds

Move cube's LoadTexture out of an assert so it isn't skipped in
release builds

9 years agomisc: Add warning about recent Ubuntu 14.10 issue
Courtney Goeltzenleuchter [Fri, 6 Feb 2015 00:02:39 +0000 (17:02 -0700)]
misc: Add warning about recent Ubuntu 14.10 issue

9 years agoglave: fix replay of AllocMemory packets with info chained structures
Jon Ashburn [Thu, 5 Feb 2015 23:48:13 +0000 (16:48 -0700)]
glave: fix replay of AllocMemory packets with info chained structures

9 years agoBIL: Update BIL version
Courtney Goeltzenleuchter [Thu, 5 Feb 2015 22:35:26 +0000 (15:35 -0700)]
BIL: Update BIL version

9 years agoglave:Fix off by one error in image generation
Tony Barbour [Thu, 5 Feb 2015 20:55:03 +0000 (13:55 -0700)]
glave:Fix off by one error in image generation

9 years agoglave: Fix debugger to export g_pReplaySettings for xglreplayer library
Jon Ashburn [Thu, 5 Feb 2015 20:42:38 +0000 (13:42 -0700)]
glave: Fix debugger to export g_pReplaySettings for xglreplayer library

9 years agoAdd build instructions for Windows.
Ian Elliott [Thu, 5 Feb 2015 19:22:51 +0000 (12:22 -0700)]
Add build instructions for Windows.

9 years agoBIL: Update revision number for BIL
Courtney Goeltzenleuchter [Thu, 5 Feb 2015 19:13:26 +0000 (12:13 -0700)]
BIL: Update revision number for BIL

9 years agotools:Incorperate review feedback on glave screenshots
Tony Barbour [Thu, 5 Feb 2015 16:46:17 +0000 (09:46 -0700)]
tools:Incorperate review feedback on glave screenshots

Move variables into display struct
Make width and height vectors
Change names from snapshot to screenshot
Fix bug when no screenshot frames specified

9 years agoglave:add code to snapshot frames
Tony Barbour [Mon, 2 Feb 2015 20:21:18 +0000 (13:21 -0700)]
glave:add code to snapshot frames

9 years agolayers: Update README.md with current layer status
Tobin Ehlis [Thu, 5 Feb 2015 18:51:35 +0000 (11:51 -0700)]
layers: Update README.md with current layer status

9 years agoWin: Eliminate VS2013 miscellaneous additional compiler warnings.
Ian Elliott [Wed, 4 Feb 2015 22:19:32 +0000 (15:19 -0700)]
Win: Eliminate VS2013 miscellaneous additional compiler warnings.

9 years agoWin: Eliminate VS2013 compiler warnings in auto-gen'd layer code.
Ian Elliott [Wed, 4 Feb 2015 19:15:12 +0000 (12:15 -0700)]
Win: Eliminate VS2013 compiler warnings in auto-gen'd layer code.

9 years agoWin: Eliminate VS2013 compiler warnings for "loader.c" ...
Ian Elliott [Wed, 4 Feb 2015 19:06:46 +0000 (12:06 -0700)]
Win: Eliminate VS2013 compiler warnings for "loader.c" ...

As part of this, eliminated some similar warnings within/across usage of
"loader_platform.h".  One of these is #define'ing _CRT_SECURE_NO_WARNINGS, so
that VisualStudio won't issue warnings with our use of _snprint() (which they
don't consider secure enough; but their desired function doesn't match the
signature of snprintf()).

9 years agoWin: Move some macros to "loader_platform.h"
Ian Elliott [Wed, 4 Feb 2015 18:22:39 +0000 (11:22 -0700)]
Win: Move some macros to "loader_platform.h"

9 years agomisc: Update readme for alpha header post
Courtney Goeltzenleuchter [Thu, 5 Feb 2015 00:50:32 +0000 (17:50 -0700)]
misc: Update readme for alpha header post

9 years agoglave: More fixes to UpdateDescriptors UPDATE_BUFFERS and UPDATE_IMAGES
Jon Ashburn [Wed, 4 Feb 2015 23:26:30 +0000 (16:26 -0700)]
glave: More fixes to UpdateDescriptors UPDATE_BUFFERS and UPDATE_IMAGES

9 years agoglave: Don't dereference null pUserData in APIDump* layers
Tobin Ehlis [Wed, 4 Feb 2015 22:15:11 +0000 (15:15 -0700)]
glave: Don't dereference null pUserData in APIDump* layers

9 years agoglave: Fix bugs with UpdateDescriptors pUpdateChain on replay
Tobin Ehlis [Wed, 4 Feb 2015 21:57:24 +0000 (14:57 -0700)]
glave: Fix bugs with UpdateDescriptors pUpdateChain on replay

9 years agoglave: Fixes in UpdateDescriptar and ClearDescriptorSets
Jon Ashburn [Wed, 4 Feb 2015 19:57:25 +0000 (12:57 -0700)]
glave: Fixes in UpdateDescriptar and ClearDescriptorSets

Also removed dead replay code for StateTransitions and AttachDescriptorSet

9 years agoglave: Add interpret function for xglCreateDescriptorSetLayout
Jon Ashburn [Wed, 4 Feb 2015 17:55:47 +0000 (10:55 -0700)]
glave: Add interpret function for xglCreateDescriptorSetLayout

9 years agoglave: Create interpret function for pUpdateChain of xglUpdateDescriptors()
Tobin Ehlis [Wed, 4 Feb 2015 17:53:31 +0000 (10:53 -0700)]
glave: Create interpret function for pUpdateChain of xglUpdateDescriptors()

9 years agoglave: fix CreateDescriptorRegion trace/replay
Jon Ashburn [Wed, 4 Feb 2015 16:32:59 +0000 (09:32 -0700)]
glave: fix CreateDescriptorRegion trace/replay

9 years agoglave: Fix trace/replay of CreateDynamicViewportState
Jon Ashburn [Wed, 4 Feb 2015 15:50:35 +0000 (08:50 -0700)]
glave: Fix trace/replay of CreateDynamicViewportState

9 years agoglave: Various fixes for UPDATE_SAMPLERS and PIPELINE_CB_STATE structures
Jon Ashburn [Wed, 4 Feb 2015 00:47:58 +0000 (17:47 -0700)]
glave: Various fixes for UPDATE_SAMPLERS  and PIPELINE_CB_STATE structures

9 years agoglave: Fix EnumerateLayers replay to handle if layer libs differ from tracing
Jon Ashburn [Tue, 3 Feb 2015 20:39:05 +0000 (13:39 -0700)]
glave: Fix EnumerateLayers replay to handle if layer libs differ from tracing

Was not handling the case where the layer libraries enumerated at replay time
were greater than those enumerated at trace time.

9 years agoxgl: Final edits for rev47+ alignment
Mark Lobodzinski [Tue, 3 Feb 2015 22:44:20 +0000 (16:44 -0600)]
xgl:  Final edits for rev47+ alignment

Took care of the remaining substantive differences.  Still many
formatting/commenting differences. Version set to 47.1 to indicate
some post-47 additions.

9 years agolayers: Add validation for mapped mem objects ref'd in cmd buffer
Mark Lobodzinski [Tue, 3 Feb 2015 17:52:26 +0000 (11:52 -0600)]
layers:  Add validation for mapped mem objects ref'd in cmd buffer

If any mem object is still mapped while referenced in a command
buffer, throw a validation error message.

9 years agoglave: Glave updated for resource binding model
Tobin Ehlis [Tue, 3 Feb 2015 21:41:26 +0000 (14:41 -0700)]
glave: Glave updated for resource binding model

In glave trace and replay, account for the fact that CreateDescriptorSetLayout and UpdateDescriptors both take chains of structs.

9 years agoCan compile "loader" and "layers" on Windows and Linux ...
Ian Elliott [Wed, 14 Jan 2015 00:52:38 +0000 (17:52 -0700)]
Can compile "loader" and "layers" on Windows and Linux ...

These directories build and are partially turned-on on Windows, using the "tri"
demo (follow-on commit) and a "NULL driver" that was created out of the
sample/Intel driver.  The GetProcAddress() is not yet finding symbols in the
NULL driver.

For now:

- "C:\Windows\System32" is the default XGL driver directory.  The getenv()
  isn't yet working.  I suggest creating your own #define in order to point to
  where a driver is.

- In order to recognize a Windows driver, we must look at both its prefix and
  suffix (i.e. it is named "XGL_*.dll", e.g. "XGL_i965.dll).

- We autogenerate Windows ".def" files for the layers.  Additional info is:

  - This is necessary in order for a DLL to export symbols that can be queried
    using GetProcAddress().  We can't use the normal Windows approach of
    declaring these functions using "__declspec(dllexport)", because these
    functions are declared in "xgl.h".

  - This involves adding and running the new "xgl-win-def-file-generate.py"
    file.

  - NOTE: Layers don't have the xglInitAndEnumerateGpus() entrypoint, just the
    xglGetProcAddr() entrypoint (and now the xglEnumerateLayers() entrypoint).
    Generating them is pretty simple.

NOTE: In order to build on a 64-bit Windows 7/8 system, I did the following:

- Install VisualStudio 2013 Professional

- Install CMake from: http://www.cmake.org/cmake/resources/software.html

  - I let it add itself to the system PATH environment variable.

- Install Python 3 from: https://www.python.org/downloads

  - I let it add itself to the system PATH environment variable.

- Obtain the Git repository, checkout the "ian-150127-WinBuild" branch.

- Using a Cygwin shell: I did the following:

  - "cd" to the top-level directory (i.e. the one that contains the ".git"
    directory).

  - "mkdir _out64"

  - "cd _out64"

  - "cmake -G "Visual Studio 12 Win64" .."

- At this point, I used WindowsExplorer to open the "XGL.sln" file.  I can
  build.  CMake causes the build shortcut to be "Ctrl-Shift-B" instead of the
  normal "F7".  I had to right-click the "ALL_BUILD" project, go to
  Properties->Debugging and change the debug Command and Working Directory to
  point to "tri.exe" and where the executable are.  At this point, I can debug
  (using the normal "F5" shortcut).