Mike Stroyan [Mon, 19 Jan 2015 18:37:12 +0000 (11:37 -0700)]
xgl: resource transition integrated, update xgl.h version
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
Courtney Goeltzenleuchter [Wed, 21 Jan 2015 00:54:08 +0000 (17:54 -0700)]
xgl: Dynamic State complete, update header version
Tony Barbour [Fri, 16 Jan 2015 21:27:35 +0000 (14:27 -0700)]
driver:implement changes for Dynamic State
Courtney Goeltzenleuchter [Fri, 16 Jan 2015 00:19:45 +0000 (17:19 -0700)]
xgl: Buffer Object integrated, update xgl.h version
Chia-I Wu [Wed, 31 Dec 2014 23:55:04 +0000 (07:55 +0800)]
update for buffer object changes
Courtney Goeltzenleuchter [Thu, 15 Jan 2015 20:02:34 +0000 (13:02 -0700)]
xgl: Tiler updates complete, Update header version
Jeremy Hayes [Wed, 14 Jan 2015 23:17:08 +0000 (16:17 -0700)]
misc: Fix tiler rebase in driver, tests, include
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!
Jon Ashburn [Sat, 3 Jan 2015 01:24:05 +0000 (18:24 -0700)]
demos: Remove CmdBindAttachments() for tiler Gpus
Jon Ashburn [Sat, 3 Jan 2015 01:22:38 +0000 (18:22 -0700)]
layers: Remove CmdBindAttachment() for tiler GPUs
Jon Ashburn [Sat, 3 Jan 2015 01:15:22 +0000 (18:15 -0700)]
include: Remove CmdBindAttachments()
Jon Ashburn [Thu, 1 Jan 2015 00:11:49 +0000 (17:11 -0700)]
layers: Update BeginCommandBuffer API for Tiler Gpus
Jon Ashburn [Thu, 1 Jan 2015 00:08:35 +0000 (17:08 -0700)]
demos: Change BeginCommandBuffer 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.
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
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.
Jeremy Hayes [Wed, 14 Jan 2015 21:58:37 +0000 (14:58 -0700)]
XGL: Move to svn r28460.
Courtney Goeltzenleuchter [Wed, 14 Jan 2015 22:21:10 +0000 (15:21 -0700)]
xgl: Do not build layers or glave during xgl.h update
Cody Northrop [Tue, 27 Jan 2015 18:31:41 +0000 (11:31 -0700)]
cmake: Fix BIL overlay to glslang
Chia-I Wu [Sun, 18 Jan 2015 03:09:29 +0000 (11:09 +0800)]
cmake: fix up gtest and set -fvisibility=hidden globally
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
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.
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.
Jon Ashburn [Fri, 16 Jan 2015 15:46:38 +0000 (08:46 -0700)]
loader: Fix infinite loop on layer library scan if dlopen fails
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.
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
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.
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
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.
Jon Ashburn [Tue, 13 Jan 2015 23:33:56 +0000 (16:33 -0700)]
layers: Fix generation of EnumerateLayers in APIDump
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.
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.
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.
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.
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.
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.
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!
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.
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
Tobin Ehlis [Thu, 18 Dec 2014 20:51:21 +0000 (13:51 -0700)]
layers: ParamChecker handles dynamic arrays of structs
Tobin Ehlis [Thu, 18 Dec 2014 17:32:57 +0000 (10:32 -0700)]
layers: Updated README to include ParamChecker
Conflicts:
layers/README.md
Tobin Ehlis [Thu, 18 Dec 2014 16:29:58 +0000 (09:29 -0700)]
layers: Validate structs embedded in structs
Jon Ashburn [Mon, 12 Jan 2015 22:46:51 +0000 (15:46 -0700)]
layers: Add comment to xgl_helper.py
Tobin Ehlis [Thu, 18 Dec 2014 15:44:01 +0000 (08:44 -0700)]
layers: Add ENUM param checks to "gpu" funcs
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
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
Chia-I Wu [Sat, 10 Jan 2015 15:16:41 +0000 (23:16 +0800)]
cmake: use find_package() for XCB
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().
Chia-I Wu [Tue, 13 Jan 2015 03:03:58 +0000 (11:03 +0800)]
xgl.py: fix prototype paring
Drop "xgl" prefix.
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.
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.
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.
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.
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.
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.
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.
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
Courtney Goeltzenleuchter [Wed, 7 Jan 2015 00:32:22 +0000 (17:32 -0700)]
info: Update BUILD document with layer info
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.
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.
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.
Courtney Goeltzenleuchter [Wed, 7 Jan 2015 16:24:45 +0000 (09:24 -0700)]
loader: Fix some typos and formatting
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.
Chia-I Wu [Mon, 5 Jan 2015 05:42:56 +0000 (13:42 +0800)]
layers: intercept xglCmdBindVertexData() in DrawState and MemTracker
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.
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().
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.
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.
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().
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().
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.
Chia-I Wu [Sun, 4 Jan 2015 07:02:50 +0000 (15:02 +0800)]
xgl.py: add more methods to Param and Proto
Chia-I Wu [Sun, 4 Jan 2015 06:51:06 +0000 (14:51 +0800)]
xgl.py: update with parsed core extension
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.
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.
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.
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.
Chia-I Wu [Sun, 4 Jan 2015 02:15:48 +0000 (10:15 +0800)]
xgl-generate.py: rename LoaderSubcommand
Rename it to LoaderEntrypointsSubcommand.
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.
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.
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.
Chia-I Wu [Sat, 3 Jan 2015 16:34:44 +0000 (00:34 +0800)]
intel: generate xglGetProcAddr()
v2: update .gitignore
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
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.
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.
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
Chia-I Wu [Sat, 3 Jan 2015 07:21:51 +0000 (15:21 +0800)]
icd: remove icd.c
Move what was there to intel.
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].
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].
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.
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.
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.
Chia-I Wu [Mon, 5 Jan 2015 08:27:42 +0000 (16:27 +0800)]
demos/cube: set data size for xglGetImageSubresourceInfo()
Jon Ashburn [Tue, 6 Jan 2015 17:33:36 +0000 (10:33 -0700)]
loader: add README.md
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.
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.
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.
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.
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.