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.
Chia-I Wu [Thu, 1 Jan 2015 06:45:58 +0000 (14:45 +0800)]
xgl.py: remove icd_dispatch_table
Its role was replaced by XGL_LAYER_DISPATCH_TABLE defined in xglLayer.h but it
was still used as "a list of all protoype names". Add proto_names for that
purpose.
Chia-I Wu [Thu, 1 Jan 2015 01:31:15 +0000 (09:31 +0800)]
xgl.py: use lists instead of tuples
Conceptually, tuples are comparable to structs in C. We want arrays here.
Chia-I Wu [Thu, 1 Jan 2015 00:46:31 +0000 (08:46 +0800)]
xgl.py: add Extension
core and XGL_WSI_X11 are both Extensions. Add
extensions, a list of all extensions
headers, a list of C headers of all extensions
protos, a list of C prototypes of all extensions
Chia-I Wu [Thu, 1 Jan 2015 00:27:54 +0000 (08:27 +0800)]
xgl-generate.py: remove unused LayerDispatchSubcommand
Chia-I Wu [Thu, 1 Jan 2015 00:24:53 +0000 (08:24 +0800)]
xgl-generate.py: remove unused LayerFuncsSubcommand
Chia-I Wu [Thu, 1 Jan 2015 00:13:42 +0000 (08:13 +0800)]
xgl-generate.py: remove unused IcdDispatchTableSubcommand
It was replaced by xglLayer.h.
Chia-I Wu [Fri, 2 Jan 2015 14:56:56 +0000 (22:56 +0800)]
icd: make probe_syspath() static
It wsa never intended to be global.
Chia-I Wu [Sat, 27 Dec 2014 07:16:07 +0000 (15:16 +0800)]
remove unnecessary casting between XGL_CHAR/char
Many of the changed lines are generated. That should be fixed at some point.
Chia-I Wu [Sat, 27 Dec 2014 06:14:50 +0000 (14:14 +0800)]
include: fix typedefs
Use what was in the upstream header. The switch of XGL_SIZE to size_t
generates quite some warnings and is fixed.
Chia-I Wu [Sun, 21 Dec 2014 15:07:08 +0000 (23:07 +0800)]
icd: add icd_format_get_raw_value()
Convert raw color (as defined in xglCmdClearColorImageRaw) to raw value
(in-memory representation).
Chia-I Wu [Fri, 19 Dec 2014 06:39:08 +0000 (14:39 +0800)]
icd: add u_ffs()
Chia-I Wu [Fri, 19 Dec 2014 03:34:46 +0000 (11:34 +0800)]
cmake: remove -Werror from CMAKE_C_FLAGS
This should have been removed since we never intend to test on all compilers.
Chia-I Wu [Fri, 19 Dec 2014 02:59:01 +0000 (10:59 +0800)]
layers: fix parallel building
Listing outputs of a add_custom_command() in multiple independent targets
creates races. The file generation should be driven by a custom target which
all independent targets depend on.
Norbert Nopper [Thu, 22 Jan 2015 20:06:03 +0000 (21:06 +0100)]
Added missing libs: libmagickwand-dev qt5-default
Norbert Nopper [Thu, 22 Jan 2015 19:52:34 +0000 (20:52 +0100)]
Update BUILD.md
Norbert Nopper [Thu, 22 Jan 2015 19:47:49 +0000 (20:47 +0100)]
Update BUILD.md
Norbert Nopper [Thu, 22 Jan 2015 19:43:36 +0000 (20:43 +0100)]
Update BUILD.md
Jon Ashburn [Fri, 19 Dec 2014 00:00:52 +0000 (17:00 -0700)]
loader: Make sure msg callbacks get registered if added before initAndEnumGpu
Fix bug where xglDbgRegisterMsgCallback wasn't working if called prior to
xglInitAndEnumerateGpus.
Jon Ashburn [Fri, 19 Dec 2014 00:26:52 +0000 (17:26 -0700)]
layers: Format improvements on README
Jens Owen [Thu, 18 Dec 2014 21:36:31 +0000 (14:36 -0700)]
Update README.md
Updated introduction to reference upcoming work around alpha header and GDC demos
JensOwen [Thu, 18 Dec 2014 14:54:48 +0000 (07:54 -0700)]
Add Images
Glave Screenshots
Jens Owen [Thu, 18 Dec 2014 14:08:39 +0000 (07:08 -0700)]
Update README.md
start to push detailed descriptions down a level...
JensOwen [Wed, 17 Dec 2014 23:36:29 +0000 (16:36 -0700)]
Added images subdirectory to docs
Jens Owen [Wed, 17 Dec 2014 21:18:22 +0000 (14:18 -0700)]
Update README.md
more testing of image support in markdown
Jens Owen [Wed, 17 Dec 2014 19:53:56 +0000 (12:53 -0700)]
Update README.md
Testing screenshots
Jon Ashburn [Wed, 17 Dec 2014 19:08:37 +0000 (12:08 -0700)]
layers: Fix compiler error in generic_layer
Tobin Ehlis [Wed, 17 Dec 2014 14:20:23 +0000 (07:20 -0700)]
layers: Added generated enum_validate_helper.h to check enum values
Conflicts:
xgl-helper.py
Tobin Ehlis [Wed, 17 Dec 2014 15:01:59 +0000 (08:01 -0700)]
layers: Added Dbg Callback support to Generic layer
Jon Ashburn [Wed, 17 Dec 2014 01:37:04 +0000 (18:37 -0700)]
glave: Add XGL version as trace packet and check version match on replay
Use the file version in xgl.h to ensure the trace file version matches
the version of xgl.h the replayer/debugger is built with. If not display error.
Tobin Ehlis [Tue, 16 Dec 2014 01:14:12 +0000 (18:14 -0700)]
glave: Split glave codegen into glave-generate.py
Removed glave codegen code from xgl-layer-generate.py and moved it to glave-generate.py. This is a stop-gap for now and eventually we should reorg code and move glave codegen under glave directory.
Conflicts:
xgl-layer-generate.py
Jon Ashburn [Fri, 12 Dec 2014 23:10:45 +0000 (16:10 -0700)]
glave: Add API call parameters with values to UI
Conflicts:
xgl-layer-generate.py
Tobin Ehlis [Thu, 11 Dec 2014 23:51:36 +0000 (16:51 -0700)]
glave: Skip Dbg Callback register/unregister calls on replay.
Tobin Ehlis [Wed, 10 Dec 2014 17:46:53 +0000 (10:46 -0700)]
glave: Glave replay glvreplay_xgl_replay.cpp file codegen.
Conflicts:
tools/glave/src/glv_extensions/glvreplay_xgl/glvreplay_xgl_replay.cpp
Tobin Ehlis [Tue, 9 Dec 2014 23:36:55 +0000 (16:36 -0700)]
glave: Codegen for glave replay glvreplay_xgl_replay.h file
Jens Owen [Wed, 17 Dec 2014 19:21:12 +0000 (12:21 -0700)]
Update README.md
Switch to using relative links within the project. This enables switching from one branch to another, and across repos without requiring changes to the Readme content.
Jens Owen [Wed, 17 Dec 2014 19:03:04 +0000 (12:03 -0700)]
Update README.md
Fixed grammatical issues in introduction.
Jens Owen [Wed, 17 Dec 2014 18:58:21 +0000 (11:58 -0700)]
Update README.md
Added Khronos description of layered architecture. Added link to Glave README. Bumped version number.
Chia-I Wu [Tue, 16 Dec 2014 02:57:50 +0000 (10:57 +0800)]
layers: do not override CMAKE_C_FLAGS
We are warning free now using the project's CMAKE_C_FLAGS.
Chia-I Wu [Tue, 16 Dec 2014 02:47:33 +0000 (10:47 +0800)]
layers: fix -Wpointer-sign warnings
Chia-I Wu [Mon, 15 Dec 2014 16:36:58 +0000 (00:36 +0800)]
layers: fix -Wunused-variable warnings
Chia-I Wu [Tue, 16 Dec 2014 03:02:06 +0000 (11:02 +0800)]
layers: fix -Wunused-function warnings
Chia-I Wu [Mon, 15 Dec 2014 16:43:20 +0000 (00:43 +0800)]
layers: fix -Wswitch warnings
Tobin Ehlis [Wed, 17 Dec 2014 00:34:50 +0000 (17:34 -0700)]
layers: DrawState layer can now dump png image of dot graph
Chia-I Wu [Mon, 15 Dec 2014 16:07:11 +0000 (00:07 +0800)]
cmake: add -Wall, -Wextra, and others to CMAKE_CXX_FLAGS
Make CMAKE_C_FLAGS and CMAKE_CXX_FLAGS share some flags. Specifically, -Wall
and -Wextra are now specified in CMAKE_CXX_FLAGS.
Courtney Goeltzenleuchter [Fri, 12 Dec 2014 23:40:04 +0000 (16:40 -0700)]
misc: Update external source versions
Courtney Goeltzenleuchter [Thu, 11 Dec 2014 23:41:43 +0000 (16:41 -0700)]
xgl: note about glave tool in README
Jon Ashburn [Thu, 11 Dec 2014 01:02:42 +0000 (18:02 -0700)]
glave: debugger fill in XGL entrypoint name instead of packetId in UI
Jon Ashburn [Wed, 10 Dec 2014 18:11:24 +0000 (11:11 -0700)]
glave: Add pReserved parameter to tracing code gen EnumerateLayers
Tobin Ehlis [Wed, 10 Dec 2014 17:54:57 +0000 (10:54 -0700)]
glave: Just copy pReserved ptr when tracing.
Jon Ashburn [Wed, 10 Dec 2014 17:24:56 +0000 (10:24 -0700)]
glave: Fix trace code gen for xglEnumerateLayers
Tobin Ehlis [Tue, 9 Dec 2014 14:50:34 +0000 (07:50 -0700)]
glave: Made Wsi & Dbg structs code-generated. All glave trace files now code-generated.
Tobin Ehlis [Tue, 9 Dec 2014 03:19:47 +0000 (20:19 -0700)]
glave: Added codegen for Wsi and Dbg .h & .c source files
Tobin Ehlis [Mon, 8 Dec 2014 19:34:34 +0000 (12:34 -0700)]
glave: Added codegen for glvtrace_xgl_xgl_structs.h
Tobin Ehlis [Fri, 5 Dec 2014 19:13:07 +0000 (12:13 -0700)]
glave: Update replay to use code-gen version of xgl_enum_string_helper.h
Tobin Ehlis [Fri, 5 Dec 2014 18:38:22 +0000 (11:38 -0700)]
glave: Codegen of packet_id header
Tobin Ehlis [Mon, 1 Dec 2014 19:53:53 +0000 (12:53 -0700)]
layers: Added codegen for glave glvtrace_xgl_xgl Header and C files
Jon Ashburn [Fri, 14 Nov 2014 21:00:22 +0000 (14:00 -0700)]
Build Glave from top level Cmake for Xgl.
Also have glave build use the xgl header files and libXGL.so from the
top level xgl files rather than glave/src/thirdparty/xgl.
Courtney Goeltzenleuchter [Tue, 9 Dec 2014 16:33:18 +0000 (09:33 -0700)]
xgl: Update README to summarize recent changes
Cody Northrop [Wed, 10 Dec 2014 23:59:32 +0000 (16:59 -0700)]
demos: Start using XGL_SLOT_SHADER_TEXTURE_RESOURCE
Cody Northrop [Wed, 10 Dec 2014 02:08:33 +0000 (19:08 -0700)]
xgl: Add new resource type for textures
This change modifies xgl.h to include a new descriptor set
slot type for textures, distinct from resources:
XGL_SLOT_SHADER_TEXTURE_RESOURCE
Buffers continue to use:
XGL_SLOT_SHADER_RESOURCE
The ordering of their inclusion in binding tables entries is
important: textures must come before buffers. This is how
the compiler expects them to be laid out.
Tobin Ehlis [Wed, 10 Dec 2014 00:00:33 +0000 (17:00 -0700)]
layers: Don't show totally unused DS slots or arrows for slots unused by a particular shader
Courtney Goeltzenleuchter [Mon, 8 Dec 2014 16:24:16 +0000 (09:24 -0700)]
BIL: Updated to latest BIL spec / functionality
The BIL specification rationalized/added these, with full semantics
OpTextureQuerySizeLod,
OpTextureQuerySize,
OpTextureQueryLod,
OpTextureQueryLevels, and
OpTextureQuerySamples.
Courtney Goeltzenleuchter [Mon, 1 Dec 2014 16:31:17 +0000 (09:31 -0700)]
layers: Eliminate statically allocated strings
See suspicious crashes when debug layers are enabled.
Believe this is due to memory overruns with fixed size
string allocations. This patch makes most of the allocations
compute the space needed to eliminate overruns and show
as much of the debug info as possible.
Also uses strncpy and strncat to ensure strings stay within
the limits of the buffer.
Jon Ashburn [Wed, 3 Dec 2014 21:30:48 +0000 (14:30 -0700)]
loader: handle inserting dispatch table pointer into all created objects
Remove the setDispatch calls into cid driver. Replace with inserting the
current dispatch table into created objects. Requires icd driver to
still have a slot for the dispatch table pointer in first location of
every created object.
Jon Ashburn [Wed, 3 Dec 2014 18:33:51 +0000 (11:33 -0700)]
icd: Fix bug in generated Icd generated entrypoints don't unwrap gpu object
Generated code for icd API entrypoints with XGL_PHYSICAL_GPU was unwrapping
the handle; but with no loader present gpu objects are never wrapped. Allows
one to LD_PRELOAD libXGL_i965.so and the tests work.
Jon Ashburn [Wed, 3 Dec 2014 18:13:40 +0000 (11:13 -0700)]
icd: Make driver use the same definition for dispatch table as loader uses
Loader and icd were using two different structs to define dispatch table.
Consolidate to to use the dispatch table defined in xglLayer.h so we
will not have issues with them getting out of sync.
Courtney Goeltzenleuchter [Tue, 2 Dec 2014 18:54:27 +0000 (11:54 -0700)]
misc: Add update summary to README.md
Chia-I Wu [Tue, 2 Dec 2014 14:08:35 +0000 (22:08 +0800)]
tests: move xglinfo to demos
Courtney Goeltzenleuchter [Wed, 3 Dec 2014 01:12:51 +0000 (18:12 -0700)]
loader: Fix missing terminator on string
strncpy does not copy the terminating null character
so were getting invalid directory names. Since we know
there is enough space for the string, just copy it and
get the terminator as well.
Courtney Goeltzenleuchter [Mon, 1 Dec 2014 16:29:42 +0000 (09:29 -0700)]
loader: Make LIBXGL_LAYERS_PATH behave like LIBXGL_DRIVERS_PATH
Courtney Goeltzenleuchter [Tue, 2 Dec 2014 16:05:18 +0000 (09:05 -0700)]
xgl: Update BIL/LunarGLASS/glslang versions
GregF [Wed, 19 Nov 2014 01:01:01 +0000 (18:01 -0700)]
Handle gaps in FS inputs.
Added logic to handle when user varyings are written by the VS but not read by the FS.
Also moved SBE command building from draw-time to pipeline-create.
Jon Ashburn [Tue, 2 Dec 2014 20:03:09 +0000 (13:03 -0700)]
loader: xglEnumerateLayers() returns layer names rather than library names
Loader's xglEnumerateLayers calls into each layer library to get their
layer names from the library.
Jon Ashburn [Tue, 2 Dec 2014 16:03:31 +0000 (09:03 -0700)]
include: Remove API typedefs from xglLayer.h
Jon Ashburn [Tue, 2 Dec 2014 15:59:56 +0000 (08:59 -0700)]
include: Move API typedefs from xglLayer.h into xgl.h, xglDbg.h, xglWsi
Jon Ashburn [Mon, 1 Dec 2014 21:22:40 +0000 (14:22 -0700)]
layers: Add Multi layer with example of multiple layers per file.