platform/upstream/Vulkan-Tools.git
9 years agoxgl: resource transition integrated, update xgl.h version
Mike Stroyan [Mon, 19 Jan 2015 18:37:12 +0000 (11:37 -0700)]
xgl: resource transition integrated, update xgl.h version

9 years agoxgl: Resource transition proposal from Bug 12904.
Mike Stroyan [Thu, 4 Dec 2014 11:08:39 +0000 (11:08 +0000)]
xgl: Resource transition proposal from Bug 12904.

Added resource transition proposal from Bug 12904.
Updated function prototypes.
Added XGL_IMAGE_CREATE_MUTABLE_FORMAT_BIT based on Intel's request.
Unless this flag is specified, image views created from the image must match the base format.
xgl.py: changes for resource tracking
loader: changes for resource tracking
icd: changes for resource tracking
tests: changes for resource tracking
demos: changes for resource tracking

9 years agoxgl: Dynamic State complete, update header version
Courtney Goeltzenleuchter [Wed, 21 Jan 2015 00:54:08 +0000 (17:54 -0700)]
xgl: Dynamic State complete, update header version

9 years agodriver:implement changes for Dynamic State
Tony Barbour [Fri, 16 Jan 2015 21:27:35 +0000 (14:27 -0700)]
driver:implement changes for Dynamic State

9 years agoxgl: Buffer Object integrated, update xgl.h version
Courtney Goeltzenleuchter [Fri, 16 Jan 2015 00:19:45 +0000 (17:19 -0700)]
xgl: Buffer Object integrated, update xgl.h version

9 years agoupdate for buffer object changes
Chia-I Wu [Wed, 31 Dec 2014 23:55:04 +0000 (07:55 +0800)]
update for buffer object changes

9 years agoxgl: Tiler updates complete, Update header version
Courtney Goeltzenleuchter [Thu, 15 Jan 2015 20:02:34 +0000 (13:02 -0700)]
xgl: Tiler updates complete, Update header version

9 years agomisc: Fix tiler rebase in driver, tests, include
Jeremy Hayes [Wed, 14 Jan 2015 23:17:08 +0000 (16:17 -0700)]
misc: Fix tiler rebase in driver, tests, include

9 years agoglave: Make tiler GPU changes work for tracing and replaying
Jon Ashburn [Sat, 3 Jan 2015 01:28:26 +0000 (18:28 -0700)]
glave: Make tiler GPU changes work for tracing and replaying

The tracing  and replay code gen didn't handle all the special cases
for the removal of CmdBindAttachments() and the addition of nested structures
with pointers and objects  in the three APIs: CreateFramebuffer,
CreateRenderPass, BeginCommandBuffer.  It now does!

9 years agodemos: Remove CmdBindAttachments() for tiler Gpus
Jon Ashburn [Sat, 3 Jan 2015 01:24:05 +0000 (18:24 -0700)]
demos: Remove CmdBindAttachments() for tiler Gpus

9 years agolayers: Remove CmdBindAttachment() for tiler GPUs
Jon Ashburn [Sat, 3 Jan 2015 01:22:38 +0000 (18:22 -0700)]
layers: Remove CmdBindAttachment() for tiler GPUs

9 years agoinclude: Remove CmdBindAttachments()
Jon Ashburn [Sat, 3 Jan 2015 01:15:22 +0000 (18:15 -0700)]
include: Remove CmdBindAttachments()

9 years agolayers: Update BeginCommandBuffer API for Tiler Gpus
Jon Ashburn [Thu, 1 Jan 2015 00:11:49 +0000 (17:11 -0700)]
layers: Update BeginCommandBuffer API for Tiler Gpus

9 years agodemos: Change BeginCommandBuffer for Tiler Gpus
Jon Ashburn [Thu, 1 Jan 2015 00:08:35 +0000 (17:08 -0700)]
demos: Change BeginCommandBuffer for Tiler Gpus

9 years agoinclude: xglBeginCommandBuffer API changed for Tiler Gpus
Jon Ashburn [Wed, 31 Dec 2014 23:56:13 +0000 (16:56 -0700)]
include: xglBeginCommandBuffer API changed for Tiler Gpus

Bump version patch number also.

9 years agoglave: Add support for new APIs to support Tiler Gpus
Jon Ashburn [Wed, 31 Dec 2014 18:30:53 +0000 (11:30 -0700)]
glave: Add support for new APIs to support Tiler Gpus

Adds support for xglCreateFramebuffer and xglCreateRenderPass

9 years agoinclude: Add new API changes including structs/enums for Tiling GPU support
Jon Ashburn [Wed, 24 Dec 2014 19:09:06 +0000 (12:09 -0700)]
include: Add new API changes including structs/enums for Tiling GPU support

Omit changes for now that alter existing APIs: xglcmdBindAttachments and
xglBeginCommandBuffer

Bump the API version patch number, since we are diverging our version numbers
from the SVN  history. This is necessary since we are not implementing header
changes in the same order they were added to SVN header.

9 years agoXGL: Move to svn r28460.
Jeremy Hayes [Wed, 14 Jan 2015 21:58:37 +0000 (14:58 -0700)]
XGL: Move to svn r28460.

9 years agoxgl: Do not build layers or glave during xgl.h update
Courtney Goeltzenleuchter [Wed, 14 Jan 2015 22:21:10 +0000 (15:21 -0700)]
xgl: Do not build layers or glave during xgl.h update

9 years agocmake: Fix BIL overlay to glslang
Cody Northrop [Tue, 27 Jan 2015 18:31:41 +0000 (11:31 -0700)]
cmake: Fix BIL overlay to glslang

9 years agocmake: fix up gtest and set -fvisibility=hidden globally
Chia-I Wu [Sun, 18 Jan 2015 03:09:29 +0000 (11:09 +0800)]
cmake: fix up gtest and set -fvisibility=hidden globally

9 years agoicd: update glslang, bil and lunarglass
GregF [Tue, 20 Jan 2015 18:55:00 +0000 (11:55 -0700)]
icd: update glslang, bil and lunarglass

Move ahead with versions installed by update_external_sources.sh

9 years agoicd: Link ICD with -Bsymbolic
GregF [Tue, 20 Jan 2015 18:51:00 +0000 (11:51 -0700)]
icd: Link ICD with -Bsymbolic

We were previously linking with -Bsymbolic-functions, but this was not
sufficient as it caused glslang virtual function calls to still be linked
to rendersystemtest copy of glslang.

9 years agoinclude: set version to 0.22.1 for recent ABI changes
Jon Ashburn [Fri, 16 Jan 2015 16:48:37 +0000 (09:48 -0700)]
include: set version to 0.22.1 for recent ABI changes

While this branch is divereged from Khronos SVN sequence of xgl.h versions.
Any ABI change in this branch  should increment the patch number: XX.YY.ZZ++.
Glave relies on the xgl.h version number to track trace file compatibility.

9 years agoloader: Fix infinite loop on layer library scan if dlopen fails
Jon Ashburn [Fri, 16 Jan 2015 15:46:38 +0000 (08:46 -0700)]
loader: Fix infinite loop on layer library scan if dlopen fails

9 years agoxgl.py: missing xgl prefix in XGL_LAYER_DISPATCH_TABLE
Chia-I Wu [Thu, 15 Jan 2015 20:55:47 +0000 (04:55 +0800)]
xgl.py: missing xgl prefix in XGL_LAYER_DISPATCH_TABLE

67ac8db7571aa07cdce3dcaa39102198639f52f1 is incomplete.

9 years agolayers: Updated MemTracker to track per-region memory transition states for allocations
Tobin Ehlis [Wed, 14 Jan 2015 19:47:30 +0000 (12:47 -0700)]
layers: Updated MemTracker to track per-region memory transition states for allocations

9 years agolayers: Added per-region memory state tracking
Tobin Ehlis [Thu, 8 Jan 2015 22:22:32 +0000 (15:22 -0700)]
layers: Added per-region memory state tracking

Initially only tracking mem transitions. Need to validate these and still have further work with images.

9 years agolayers: Enhancements to MemTracker and DrawState
Tobin Ehlis [Thu, 8 Jan 2015 00:49:29 +0000 (17:49 -0700)]
layers: Enhancements to MemTracker and DrawState

DrawState flags error when Descriptor Set that hasn't had "EndUpdate" called is bound to cmd buffer.
Moved MemTracker struct defines to header.
Added State to memory objects and flag state transition errors at prepare time
Added CreateInfo for all object types that can be bound to memory

9 years agoRevert "layers: Fix generation of EnumerateLayers in APIDump"
Jon Ashburn [Wed, 14 Jan 2015 15:52:37 +0000 (08:52 -0700)]
Revert "layers: Fix generation of EnumerateLayers in APIDump"

This reverts commit 9c8e8a955eded8788a68c694cea11742e8d84690.

Stale generated code was the real issue.

9 years agolayers: Fix generation of EnumerateLayers in APIDump
Jon Ashburn [Tue, 13 Jan 2015 23:33:56 +0000 (16:33 -0700)]
layers: Fix generation of EnumerateLayers in APIDump

9 years agoxgl_helper: Eliminate compiler not used warning
Courtney Goeltzenleuchter [Tue, 13 Jan 2015 22:33:33 +0000 (15:33 -0700)]
xgl_helper: Eliminate compiler not used warning

Using static inline vs. static only prevents the compiler
from complaining that the functions have been defined but
not used.

9 years agolayers: Make sure we deref pointers to counts
Courtney Goeltzenleuchter [Tue, 13 Jan 2015 22:32:18 +0000 (15:32 -0700)]
layers: Make sure we deref pointers to counts

For functions that can return a count of elements, be sure to
dereference that pointer when looping over the array.

9 years agolayers: Fix APIDump param generation for Cpp versus C
Jon Ashburn [Tue, 13 Jan 2015 15:38:14 +0000 (08:38 -0700)]
layers: Fix APIDump param generation for Cpp versus C

Remanent from the merge of glave_integration.

9 years agoglvreplay_xgl: Add 'EnableLayers' setting to control which XGL validation layers...
Peter Lohrmann [Fri, 9 Jan 2015 20:34:50 +0000 (12:34 -0800)]
glvreplay_xgl: Add 'EnableLayers' setting to control which XGL validation layers get enabled.

* The string is a comma separated list of layer names, defaulting to "Drawstate,ObjectTracker".
* Fix the way in which the settings are assigned to the default values, as the previous approach was attempting to delete the default 'EnableLayers' value, which would have caused problems eventually.

9 years agoglave: Update xgl debugger and replayer to include support for settings.
Peter Lohrmann [Fri, 9 Jan 2015 03:47:03 +0000 (19:47 -0800)]
glave: Update xgl debugger and replayer to include support for settings.

* glvreplay_xgl has a 'debugLevel' setting that is used to control the validation level.
* glvdebug_xgl has a 'supportDrawCalls' placeholder setting that is not currently hooked up.

9 years agoglave: Fix xglCreateDevice replay code to not modify packet.
Jon Ashburn [Fri, 19 Dec 2014 19:31:19 +0000 (12:31 -0700)]
glave: Fix xglCreateDevice replay code to not modify packet.

Fixes sporadic  crashes on multiple replays.

9 years agoglave: Remove MemTracker and replace with ObjectTracker
Jon Ashburn [Fri, 19 Dec 2014 16:32:33 +0000 (09:32 -0700)]
glave: Remove MemTracker and replace with ObjectTracker

Too many tests cause MemTracker to spew a ton of errors.
Also don't print Info or Warnings during DbgCall in replayer as the
validation layers are too chatty!

9 years agoglave: Register a handler in replayer for error msg callbacks and report these
Jon Ashburn [Fri, 19 Dec 2014 00:03:34 +0000 (17:03 -0700)]
glave: Register a handler in replayer for error msg callbacks and report these

Hook up DbgMsgCallbacks  from validation layers to replayer.  Log Warnings
and Info messages.  For Error messages log them and also fail the replay of
the packet that caused it.
By default enable debug level 4 in debugger and layers MemTracker and DrawState.

9 years agolayers: APIDump* layers now print input array elements
Tobin Ehlis [Thu, 18 Dec 2014 22:20:05 +0000 (15:20 -0700)]
layers: APIDump* layers now print input array elements

Conflicts:
xgl-layer-generate.py

9 years agolayers: ParamChecker handles dynamic arrays of structs
Tobin Ehlis [Thu, 18 Dec 2014 20:51:21 +0000 (13:51 -0700)]
layers: ParamChecker handles dynamic arrays of structs

9 years agolayers: Updated README to include ParamChecker
Tobin Ehlis [Thu, 18 Dec 2014 17:32:57 +0000 (10:32 -0700)]
layers: Updated README to include ParamChecker

Conflicts:
layers/README.md

9 years agolayers: Validate structs embedded in structs
Tobin Ehlis [Thu, 18 Dec 2014 16:29:58 +0000 (09:29 -0700)]
layers: Validate structs embedded in structs

9 years agolayers: Add comment to xgl_helper.py
Jon Ashburn [Mon, 12 Jan 2015 22:46:51 +0000 (15:46 -0700)]
layers:  Add comment to xgl_helper.py

9 years agolayers: Add ENUM param checks to "gpu" funcs
Tobin Ehlis [Thu, 18 Dec 2014 15:44:01 +0000 (08:44 -0700)]
layers: Add ENUM param checks to "gpu" funcs

9 years agolayers: Initial ParamChecker layer
Tobin Ehlis [Thu, 18 Dec 2014 00:44:50 +0000 (17:44 -0700)]
layers: Initial ParamChecker layer

ParamChecker layer is generated and currently only checks that ENUM input to functions or ENUMS as part of input structs have valid values.

Conflicts:
layers/CMakeLists.txt

9 years agoicd: clean up build rules
Chia-I Wu [Sat, 10 Jan 2015 15:21:30 +0000 (23:21 +0800)]
icd: clean up build rules

- lowercase local variables
- 4-space indentation
- use FindUdev
- use target_include_directories
- use target_link_libraries

9 years agocmake: use find_package() for XCB
Chia-I Wu [Sat, 10 Jan 2015 15:16:41 +0000 (23:16 +0800)]
cmake: use find_package() for XCB

9 years agocmake: add find modules
Chia-I Wu [Sat, 10 Jan 2015 15:15:51 +0000 (23:15 +0800)]
cmake: add find modules

Add Find{DRM,UDev,XCB}.cmake.  Require 2.8.11 for FOUND_VAR support in
find_package_handle_standard_args().

9 years agoxgl.py: fix prototype paring
Chia-I Wu [Tue, 13 Jan 2015 03:03:58 +0000 (11:03 +0800)]
xgl.py: fix prototype paring

Drop "xgl" prefix.

9 years agoxgl: Add xgl header changes for rev30 and 31.
Mark Lobodzinski [Fri, 9 Jan 2015 21:12:03 +0000 (15:12 -0600)]
xgl:  Add xgl header changes for rev30 and 31.

Switched EnumerateLayer parameter order, added conditional definition
of xgl function prototypes, and prepended 'xgl' to all function
prototypes. This included fixes for bugs #13173 and #13180.

9 years agolayers: Create APIDump[NoAddr]Cpp layers using c++ string and streams
Tobin Ehlis [Sat, 10 Jan 2015 19:42:41 +0000 (12:42 -0700)]
layers: Create APIDump[NoAddr]Cpp layers using c++ string and streams

This is fully functional version of APIDump & APIDumpNoAddr using std::string and i/o streams
Hopefully this will fix a few random crashes that were being hit with rendersystemtests & APIDump
Long term we won't keep generating so many different APIDump layers.
The main APIDump layer will be the Cpp version and it will have settings file options to vary file i/o and noaddr along with any new options.
We should keep the C version of APIDump around until we're sure we don't need it, though.

9 years agolayers: Default MemTracker and DrawState to verbose stdout mode when no settings...
Tobin Ehlis [Thu, 8 Jan 2015 21:26:53 +0000 (14:26 -0700)]
layers: Default MemTracker and DrawState to verbose stdout mode when no settings file present.

9 years agoglave: Add GLVLIB_TRACE_IPADDR env var for remote system tracing
Jon Ashburn [Sat, 10 Jan 2015 00:36:10 +0000 (17:36 -0700)]
glave: Add GLVLIB_TRACE_IPADDR env var for remote system tracing

Setting this env var will make the xlg tracer library send packets to
a remote system  rather than the local system.

9 years agoglave: Add XGL_LAYER_CREATE_INFO structure to trace files
Jon Ashburn [Sat, 10 Jan 2015 00:30:41 +0000 (17:30 -0700)]
glave: Add XGL_LAYER_CREATE_INFO structure to trace files

Recent test changes was adding this structure to the DEVICE_CREATE_INFO
structure.  this was causing a regresiion in Glave.

9 years agolayers: xgl-helper.py depends on xgl.h
Chia-I Wu [Sat, 10 Jan 2015 03:43:05 +0000 (11:43 +0800)]
layers: xgl-helper.py depends on xgl.h

This makes sure helpers are regenerated when xgl.h is edited.

9 years agoloader: Check for success on return from driver for create object calls
Jon Ashburn [Fri, 9 Jan 2015 17:13:48 +0000 (10:13 -0700)]
loader: Check for success on return from driver for create object calls

Allows errors from driver that prevented driver from creating object to
return to the app.

9 years agolayers: More robust parsing of xgl.h in helper script used by layers
Jon Ashburn [Fri, 9 Jan 2015 16:11:44 +0000 (09:11 -0700)]
layers: More robust parsing of xgl.h in helper script used by layers

9 years agoinfo: Update BUILD document with layer info
Courtney Goeltzenleuchter [Wed, 7 Jan 2015 00:32:22 +0000 (17:32 -0700)]
info: Update BUILD document with layer info

9 years agobuild: Update render node enable instructions
Courtney Goeltzenleuchter [Thu, 8 Jan 2015 00:46:53 +0000 (17:46 -0700)]
build: Update render node enable instructions

Render nodes were not getting enabled when setting up a newly installed
14.10 Ubuntu system. To get the rnodes=1 option to work it is necessary
to update the ramfs boot image.

9 years agobuild: Add more error checking for build environment
Courtney Goeltzenleuchter [Wed, 7 Jan 2015 20:35:32 +0000 (13:35 -0700)]
build: Add more error checking for build environment

Make sure that a KHRONOS_ACCOUNT_NAME and necessary BIL
files exist before doing any other work. That way user
knows right away if build environment is setup correctly or not.

9 years agoloader: Include layers specified in environment
Courtney Goeltzenleuchter [Wed, 7 Jan 2015 17:17:44 +0000 (10:17 -0700)]
loader: Include layers specified in environment

If application specified layer_info in the CreateDevice call
the code would only look for layers the app specified. However,
we want to include layers specified in the environment in addition
to any specified by the application.

9 years agoloader: Fix some typos and formatting
Courtney Goeltzenleuchter [Wed, 7 Jan 2015 16:24:45 +0000 (09:24 -0700)]
loader: Fix some typos and formatting

9 years agolayers: use generated layer_intercept_proc()
Chia-I Wu [Mon, 5 Jan 2015 05:18:57 +0000 (13:18 +0800)]
layers: use generated layer_intercept_proc()

Call layer_intercept_proc() from xglGetProcAddr() in DrawState, MemTracker,
and generated layers.

There should be no functional difference with this change.

9 years agolayers: intercept xglCmdBindVertexData() in DrawState and MemTracker
Chia-I Wu [Mon, 5 Jan 2015 05:42:56 +0000 (13:42 +0800)]
layers: intercept xglCmdBindVertexData() in DrawState and MemTracker

9 years agoxgl-generate.py: add LayerGetProcAddrHelperSubcommand()
Chia-I Wu [Mon, 5 Jan 2015 04:56:13 +0000 (12:56 +0800)]
xgl-generate.py: add LayerGetProcAddrHelperSubcommand()

It generates layer_intercept_proc() to intercept all but
xglInitAndEnumerateGpus().  It is possible to extend the subcommand to get the
list of functions to intercept from command arguments or layer spec files.
But we do not have the needs yet.

9 years agoxgl-generate.py: add generate_get_proc_addr_check()
Chia-I Wu [Mon, 5 Jan 2015 04:55:13 +0000 (12:55 +0800)]
xgl-generate.py: add generate_get_proc_addr_check()

Generate

    if (!pName || pName[0] != 'x' || pName[1] != 'g' || pName[2] != 'l')
        return NULL;

for use in xglGetProcAddr().

9 years agolayers: simplify xglGetProcAddr() for Basic and Multi
Chia-I Wu [Mon, 5 Jan 2015 01:41:27 +0000 (09:41 +0800)]
layers: simplify xglGetProcAddr() for Basic and Multi

Layers should only handle interested XGL entrypoints in their
xglGetProcAddr(), and chain to the next layer.  Handling everything using the
cached results in pTable is not much faster.

There should be no functional difference with this change.

9 years agolayers: simplify initLayerTable()
Chia-I Wu [Sun, 4 Jan 2015 15:11:43 +0000 (23:11 +0800)]
layers: simplify initLayerTable()

Generate xgl_dispatch_table_helper.h with

 $ ./xgl-generate.py dispatch-table-ops layer

and make use of layer_initialize_dispatch_table() in initLayerTable().

There should be no functional difference with this change.

9 years agoxgl-generate.py: simplify _does_function_create_object()
Chia-I Wu [Sun, 4 Jan 2015 07:51:00 +0000 (15:51 +0800)]
xgl-generate.py: simplify _does_function_create_object()

Make use of _object_out_params().

9 years agoxgl-generate.py: simplify _is_dispatchable()
Chia-I Wu [Sun, 4 Jan 2015 07:38:47 +0000 (15:38 +0800)]
xgl-generate.py: simplify _is_dispatchable()

Make use of object_in_params().  Remove unused _is_name_dispatchable().

9 years agoxgl.py: remove special-purpose functions
Chia-I Wu [Sun, 4 Jan 2015 07:32:52 +0000 (15:32 +0800)]
xgl.py: remove special-purpose functions

Move them to LoaderEntrypointsSubcommand as they are loader-specific.

9 years agoxgl.py: add more methods to Param and Proto
Chia-I Wu [Sun, 4 Jan 2015 07:02:50 +0000 (15:02 +0800)]
xgl.py: add more methods to Param and Proto

9 years agoxgl.py: update with parsed core extension
Chia-I Wu [Sun, 4 Jan 2015 06:51:06 +0000 (14:51 +0800)]
xgl.py: update with parsed core extension

9 years agoxgl.py: add the ability to parse xgl.h
Chia-I Wu [Sun, 4 Jan 2015 06:08:46 +0000 (14:08 +0800)]
xgl.py: add the ability to parse xgl.h

This is useful to generate templates for editing.

9 years agoxgl.py: add names of objects
Chia-I Wu [Sun, 4 Jan 2015 06:46:22 +0000 (14:46 +0800)]
xgl.py: add names of objects

They can be used to tell if a param is an object.

9 years agoloader: use generated dispatch table ops
Chia-I Wu [Sun, 4 Jan 2015 03:12:47 +0000 (11:12 +0800)]
loader: use generated dispatch table ops

This also fixes several typos in xglGetProcAddr(), such as in

    else if (!strncmp("xglCreateFence", pName, sizeof ("xgllCreateFence")))
        return disp_table->CreateFence;

They are generally harmless though.

9 years agoxgl-generate.py: add DispatchTableOpsSubcommand
Chia-I Wu [Sun, 4 Jan 2015 02:19:50 +0000 (10:19 +0800)]
xgl-generate.py: add DispatchTableOpsSubcommand

It can generate functions to initialize and lookup a dispatch table.

9 years agoxgl-generate.py: rename LoaderSubcommand
Chia-I Wu [Sun, 4 Jan 2015 02:15:48 +0000 (10:15 +0800)]
xgl-generate.py: rename LoaderSubcommand

Rename it to LoaderEntrypointsSubcommand.

9 years agoxgl-generate.py: clean up IcdDummyEntrypointsSubcommand
Chia-I Wu [Sun, 4 Jan 2015 04:05:41 +0000 (12:05 +0800)]
xgl-generate.py: clean up IcdDummyEntrypointsSubcommand

Use c_pretty_decl() and generate all protos.

9 years agoxgl.py: add c_pretty_decl() to Proto
Chia-I Wu [Sun, 4 Jan 2015 04:00:01 +0000 (12:00 +0800)]
xgl.py: add c_pretty_decl() to Proto

Return the C declaration of the proto, with xgl.h formatting.

9 years agoicd: no need to include xglLayer.h
Chia-I Wu [Sat, 3 Jan 2015 19:07:28 +0000 (03:07 +0800)]
icd: no need to include xglLayer.h

On the other hand, we need xglWsiX11Ext.h.

9 years agointel: generate xglGetProcAddr()
Chia-I Wu [Sat, 3 Jan 2015 16:34:44 +0000 (00:34 +0800)]
intel: generate xglGetProcAddr()

v2: update .gitignore

9 years agoxgl-generate.py: add IcdGetProcAddrSubcommand
Chia-I Wu [Sat, 3 Jan 2015 16:11:17 +0000 (00:11 +0800)]
xgl-generate.py: add IcdGetProcAddrSubcommand

It can generate xglGetProcAddr() for ICDs.

v2: remove an extraneous semicolon

9 years agoxgl-generate.py: add IcdDummyEntrypointsSubcommand
Chia-I Wu [Sat, 3 Jan 2015 15:48:15 +0000 (23:48 +0800)]
xgl-generate.py: add IcdDummyEntrypointsSubcommand

It replaces IcdDispatchDummyImplSubcommand as the tables generated by
IcdDispatchDummyImplSubcommand do not have much use.

9 years agoicd: build a static library
Chia-I Wu [Sat, 3 Jan 2015 16:31:33 +0000 (00:31 +0800)]
icd: build a static library

libicd was an OBJECT library because it provided the XGL entry points.  That
is not true anymore.  Make it a STATIC library.

v2:
 - update .gitignore
 - stop adding CMAKE_CURRENT_BINARY_DIR to ICD_INCLUDE_DIRS, unnecessary since
   the switch to xglLayer.h some time ago

v3: Make icd appear before ICD_LIBRARIES during linking of libXGL_i965.so.
    It looks like we can do better now that icd is a regular library, but
    leave it as is for now.

9 years agoicd: stop generating icd-dispatch-entrypoints.c
Chia-I Wu [Sat, 3 Jan 2015 07:27:41 +0000 (15:27 +0800)]
icd: stop generating icd-dispatch-entrypoints.c

Let ICDs define XGL entrypoints directly.  This requires the Intel ICD to
rename intelSomeEntryPoint() to xglSomeEntryPoint().  In addition, the ICD
needs to be linked with -Bsymbolic to make symbol resolving work for
xglGetProcAddr().

v2: use -Bsymbolic-functions

9 years agoicd: remove icd.c
Chia-I Wu [Sat, 3 Jan 2015 07:21:51 +0000 (15:21 +0800)]
icd: remove icd.c

Move what was there to intel.

9 years agoicd: clean up logging functions
Chia-I Wu [Sat, 3 Jan 2015 06:47:32 +0000 (14:47 +0800)]
icd: clean up logging functions

Clean up and move logging functions to icd-log.[ch].

9 years agoicd: clean up alloc functions
Chia-I Wu [Sat, 3 Jan 2015 05:55:22 +0000 (13:55 +0800)]
icd: clean up alloc functions

Clean up and move alloc functions to icd-alloc.[ch].

9 years agoglave-generate.py: change remap types and list formating
Chia-I Wu [Mon, 5 Jan 2015 08:37:09 +0000 (16:37 +0800)]
glave-generate.py: change remap types and list formating

This makes it easier to add new types.

9 years agoxgl-layer-generate.py: change obj_type_mapping formatting
Chia-I Wu [Mon, 5 Jan 2015 06:37:39 +0000 (14:37 +0800)]
xgl-layer-generate.py: change obj_type_mapping formatting

This makes it easier to add new types.

9 years agolayers: no explicit enum values for internal enums
Chia-I Wu [Mon, 5 Jan 2015 06:33:42 +0000 (14:33 +0800)]
layers: no explicit enum values for internal enums

This makes it easier to insert new enums.

9 years agodemos/cube: set data size for xglGetImageSubresourceInfo()
Chia-I Wu [Mon, 5 Jan 2015 08:27:42 +0000 (16:27 +0800)]
demos/cube: set data size for xglGetImageSubresourceInfo()

9 years agoloader: add README.md
Jon Ashburn [Tue, 6 Jan 2015 17:33:36 +0000 (10:33 -0700)]
loader:  add README.md

9 years agoloader: Fix WsiX11CreatePresentableImage to set dispatch table for image
Jon Ashburn [Tue, 6 Jan 2015 16:24:44 +0000 (09:24 -0700)]
loader: Fix WsiX11CreatePresentableImage to set dispatch table for image

This one has two object output parameters, dispatch table for  both must be set.

9 years agolayers: DrawState layer now support the layers settings file
Jon Ashburn [Mon, 22 Dec 2014 20:38:27 +0000 (13:38 -0700)]
layers: DrawState layer now support the layers settings file

DrawState use the getlayerOption()  or use default values if no options are
defined.  DrawState now has the configurable options Debug Action, Debug Level,
 and Debug Log Filename.

9 years agolayers: MemTracker support the new layers settings file for configuration
Jon Ashburn [Mon, 22 Dec 2014 20:24:15 +0000 (13:24 -0700)]
layers: MemTracker support the new layers settings file for configuration

MemTracker use the getlayerOption()  or use default values if now options defined.
MemTracker now has the configurable options Debug Action, Debug Level,  and
Debug Log Filename.

9 years agolayers: Add utilities for layer configuration via settings file.
Jon Ashburn [Mon, 22 Dec 2014 19:04:40 +0000 (12:04 -0700)]
layers: Add utilities for layer configuration via settings file.

Layers can now call getLayerOption("<option name>") to get layer settings.
File xgl_layer_settings.txt can be used to provide option and value  pairs
to configure a given layer.

Add enums to xglLayer.h to provide a generic ACTION and LEVEl settings for
options in the settings file.

9 years agoxgl-generate.py: fork _generate_dispatch_entrypoints()
Chia-I Wu [Thu, 1 Jan 2015 16:21:24 +0000 (00:21 +0800)]
xgl-generate.py: fork _generate_dispatch_entrypoints()

Both LoaderSubcommand and IcdDispatchEntrypointsSubcommand called
_generate_dispatch_entrypoints() yet they have very different needs.  Rename
the function to _generate_loader_dispatch_entrypoints() and make it
LoaderSubcommand specific.  Add a new entrypoint generating function for
IcdDispatchEntrypointsSubcommand.