Jeremy Hayes [Fri, 23 Jan 2015 15:51:43 +0000 (08:51 -0700)]
Update XGL_FORMAT.
Mark Lobodzinski [Mon, 26 Jan 2015 23:06:34 +0000 (17:06 -0600)]
xgl: Add begin/end_range to all enums
Cosmetic change to xgl header for rev# 37, bug# 13244.
Mark Lobodzinski [Mon, 26 Jan 2015 23:02:32 +0000 (17:02 -0600)]
xgl: Rename XGL_WAIT_EVENT enum in header
For svn rev# 29226, generalized an XGL_WAIT_EVENT enum.
Courtney Goeltzenleuchter [Mon, 26 Jan 2015 22:09:47 +0000 (15:09 -0700)]
xgl: Bump rev for Command Atomic update
Bug #: 12997
Alpha header revision: r29249
Courtney Goeltzenleuchter [Wed, 21 Jan 2015 16:59:59 +0000 (09:59 -0700)]
xgl: Remove xglCmdAtomics
Implement changes for alpha header version 0.35.
Bug #12998.
Mark Lobodzinski [Mon, 26 Jan 2015 16:34:00 +0000 (10:34 -0600)]
xgl: Rename semaphore enums
Cosmetic xgl header change for xgl.h revision #40.
Jon Ashburn [Tue, 20 Jan 2015 23:59:42 +0000 (16:59 -0700)]
memory alloc: Remove last heaps from memory alloc and requirements
Also reorder memory_alloc_info struct as memPriority added back in as last
member in struct.
Conflicts:
demos/cube.c
demos/tri.c
icd/intel/buf.c
icd/intel/event.c
icd/intel/img.c
icd/intel/mem.c
icd/intel/pipeline.c
icd/intel/query.c
include/xgl.h
tests/image_tests.cpp
tests/init.cpp
tests/render_tests.cpp
tests/xgltestbinding.cpp
tests/xgltestbinding.h
Jon Ashburn [Tue, 20 Jan 2015 23:38:02 +0000 (16:38 -0700)]
memory alloc: Remove alignment from alloc_info structure
Conflicts:
icd/intel/mem.c
Jon Ashburn [Tue, 20 Jan 2015 22:06:59 +0000 (15:06 -0700)]
memory alloc: Remove MEMORY_ALLOC_FLAGS add MEMORY_TYPE
Jon Ashburn [Tue, 20 Jan 2015 20:55:32 +0000 (13:55 -0700)]
memory alloc: Remove memory_heap flags replace with memory_property flags
Conflicts:
include/xgl.h
tests/image_tests.cpp
tests/init.cpp
tests/xgltestbinding.h
Jon Ashburn [Mon, 19 Jan 2015 22:00:26 +0000 (15:00 -0700)]
memory alloc: Add IMAGE and BUFFER alloc info structures
For images have the tests fill in the IMAGE_ALLOC structures. For buffers
this is not yet done.
Conflicts:
demos/cube.c
demos/tri.c
include/xgl.h
tests/init.cpp
tests/xgltestbinding.cpp
Jon Ashburn [Fri, 16 Jan 2015 16:37:43 +0000 (09:37 -0700)]
memory alloc: Add MEMORY_ALLOCATION_COUNT support and usage in tests.
Driver always does one allocation but tests support drivers with N allocations.
Conflicts:
demos/cube.c
demos/tri.c
tests/image_tests.cpp
tests/render_tests.cpp
Jon Ashburn [Thu, 15 Jan 2015 17:39:19 +0000 (10:39 -0700)]
memory alloc: Add allocation index to BindObjectMemory
For now it is always index 0. Updates, driver, glave, tests, demos, include,
and layers.
Jon Ashburn [Wed, 14 Jan 2015 17:44:00 +0000 (10:44 -0700)]
memory alloc: Remove xglGetMemoryHeapXXX from driver,loader, glave, layers
Jon Ashburn [Wed, 14 Jan 2015 16:56:21 +0000 (09:56 -0700)]
demos: Remove calls to xglGetMemoryHeapXXX in xglinfo
Chia-I Wu [Sun, 4 Jan 2015 08:27:24 +0000 (16:27 +0800)]
xgl: move to new resource binding model
All except layout(set=) is supported. The change to
pipeline_compiler_interface.{cpp,h} is ugly and fragile. It should be fixed
after adding layout(set=) support.
Chia-I Wu [Fri, 16 Jan 2015 14:31:25 +0000 (22:31 +0800)]
demos, tests: use XGL_BUFFER_VIEW_RAW for constant buffers
Chia-I Wu [Sun, 18 Jan 2015 06:51:02 +0000 (14:51 +0800)]
complete fixed-function vertex fetch support
Update xgl.h (cosmetic changes only). Add support for new formats.
v2: fix blit tests and enhance xglinfo for new formats
Courtney Goeltzenleuchter [Fri, 23 Jan 2015 21:00:52 +0000 (14:00 -0700)]
BIL: Update to support descriptor set GLSL features
Courtney Goeltzenleuchter [Fri, 23 Jan 2015 18:47:02 +0000 (11:47 -0700)]
xgl: Fix syntax error
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.