Jon Ashburn [Wed, 1 Apr 2015 19:30:06 +0000 (13:30 -0600)]
build: enable Glave and all layers but drawState
v2: enable drawState too (olv)
Tobin Ehlis [Fri, 3 Apr 2015 18:01:11 +0000 (12:01 -0600)]
layers: DrawState changes to support resource binding updates
Courtney Goeltzenleuchter [Fri, 3 Apr 2015 04:54:15 +0000 (22:54 -0600)]
layers: Fixes to get them building and working with descriptor changes
Jon Ashburn [Mon, 30 Mar 2015 15:11:02 +0000 (09:11 -0600)]
glave: Rename descriptor region to descriptor pool
Chia-I Wu [Sat, 28 Mar 2015 07:23:55 +0000 (15:23 +0800)]
binding: update for xglCmdBindDescriptorSets()
This update makes it possible to bind multiple descriptor sets to the command
buffer. We introduced intel_cmd_dset_data to hold the descriptor set offsets
in the global descriptor region as well as their dynamic offsets. We also
changed the descriptor reading routines from
intel_desc_set_read_surface()
intel_desc_set_read_sampler()
to
intel_desc_region_read_surface()
intel_desc_region_read_sampler()
v2: fix a potential crash when allocation of dynamic_desc_indices fails
Chia-I Wu [Fri, 27 Mar 2015 04:56:09 +0000 (12:56 +0800)]
binding: update for pImmutableSamplers
v2: fix a typo in the type of shared_immutable_sampler (olv)
Chia-I Wu [Thu, 26 Mar 2015 07:27:55 +0000 (15:27 +0800)]
binding: introduce XGL_DESCRIPTOR_SET_LAYOUT_CHAIN
Replace a chain of XGL_DESCRIPTOR_SET_LAYOUT by
XGL_DESCRIPTOR_SET_LAYOUT_CHAIN. The change also drops
stageFlags/pSetBindPoints, and affects xglUpdateDescriptors().
xglCmdBindDescriptorSet() is not updated yet by this commit, which makes it
impossible to bind multiple sets.
The change also encourages the use of arrays of resources, which we do not
support.
v2: fix a typo in intel_desc_set_update_samplers() that prevents it from
working (olv)
Chia-I Wu [Thu, 26 Mar 2015 07:26:05 +0000 (15:26 +0800)]
binding: remove XGL_DESCRIPTOR_TYPE_RAW_BUFFER*
Chia-I Wu [Thu, 26 Mar 2015 07:23:52 +0000 (15:23 +0800)]
binding: rename xglClearDescriptorPool()
Rename it to xglResetDescriptorPool().
Chia-I Wu [Thu, 26 Mar 2015 07:04:41 +0000 (15:04 +0800)]
binding: update XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO
XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO now has an array of bindings. Rename
intel_desc_layout_range to intel_desc_layout_binding.
Chia-I Wu [Thu, 26 Mar 2015 05:14:16 +0000 (13:14 +0800)]
binding: rename descriptor region to descriptor pool
This should be trivial, except that the intel driver has intel_desc_pool
internally. Exchange the names of intel_desc_pool and intel_desc_region.
Chia-I Wu [Sat, 28 Mar 2015 01:59:21 +0000 (09:59 +0800)]
binding: disable layers and tools
Tobin Ehlis [Thu, 26 Mar 2015 14:24:16 +0000 (08:24 -0600)]
layers: Correct xglBindObjectMemory signature in MemTracker message.
Tobin Ehlis [Tue, 17 Mar 2015 22:24:32 +0000 (16:24 -0600)]
layers: Migrated DrawState layer to cpp
Move almost all linked-lists to unordered_maps and vectors.
Clean up malloc/free with new/delete.
Skip write-strings compile warnings for graphviz_helper.
Still need to migrate the DS update tree to c++.
Mark Lobodzinski [Tue, 24 Mar 2015 21:29:24 +0000 (16:29 -0500)]
layers: Convert memtracker to cpp
Take advantage of containers, memory allocation, and strings.
Courtney Goeltzenleuchter [Tue, 31 Mar 2015 22:36:30 +0000 (16:36 -0600)]
xgl: Update interface for sparse vertex attrs
Bug #13402
header version: 0.64.0
Ian Elliott [Fri, 3 Apr 2015 15:54:13 +0000 (09:54 -0600)]
Eliminate some Windows-compilation warnings.
Courtney Goeltzenleuchter [Thu, 26 Mar 2015 22:16:16 +0000 (16:16 -0600)]
obj_track: Eliminate warning for presentable image
Distinguish between freeObj calls that are being done for
layer internal reasons (i.e. tracking presentable_image objects)
and user actions to eliminate unnecessary warning from layer.
Courtney Goeltzenleuchter [Thu, 26 Mar 2015 22:15:39 +0000 (16:15 -0600)]
mem_tracker: Report PRESENTABLE_IMAGE_MEMORY obj
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 19:36:41 +0000 (13:36 -0600)]
demos: Correct use of pipeline barrier
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 23:14:29 +0000 (17:14 -0600)]
xgl: Rename XGL_QUEUE_SEMAPHORE to XGL_SEMAPHORE
bug #13473
header: r29790 (0.63.0)
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 22:37:00 +0000 (16:37 -0600)]
xgl: xglWaitForFences timeout units
bug #13425
header: r29769 (0.62.0)
v2: cast uint64_t to int64_t with range check (olv)
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 22:31:58 +0000 (16:31 -0600)]
xgl: Consistent naming scheme for resources in XGL
bug #13230
header revision: r29764 (0.62.0)
Part 1: Change BUFFER_USAGE, BUFFER_VIEW and BUFFER_VIEW_CREATE_INFO.
Courtney Goeltzenleuchter [Mon, 13 Apr 2015 22:13:30 +0000 (16:13 -0600)]
xgl: Remove xglSetFastClearColor / xglSetFastClearDepth
header: r29714 (0.61.0)
Courtney Goeltzenleuchter [Mon, 13 Apr 2015 22:16:04 +0000 (16:16 -0600)]
FIXUP: Remove PIPELINE_DELTA
commit
57a757fda4f6a62cb1187b015f28119ce9c5a2b2
Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
Date: Wed Mar 25 15:37:49 2015 -0600
xgl: Remove PIPELINE_DELTA.
bug: 13065
header: 0.60.0
Remove PIPELINE_DELTA.
Add functions for creating and loading pipeline derivatives.
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 21:37:49 +0000 (15:37 -0600)]
xgl: Remove PIPELINE_DELTA.
bug: 13065
header: 0.60.0
Remove PIPELINE_DELTA.
Add functions for creating and loading pipeline derivatives.
v2: fix warnings (olv)
Courtney Goeltzenleuchter [Mon, 13 Apr 2015 22:16:56 +0000 (16:16 -0600)]
FIXUP: Add IMAGE_LAYOUT
commit
6f5bca9057be71e818982c4cece0cb5ed1743b0f
Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
Date: Wed Mar 25 11:25:10 2015 -0600
xgl: Add IMAGE_LAYOUT to Cmd*Image* calls
This is part 2 of bug #12904.
(2) Blit operations need to know what layout images are in. How do they figure that out?
- Added new parameter(s) specifying the image layout(s) to the following functions:
xglCmdCopyImage
xglCmdCopyBufferToImage
xglCmdCopyImageToBuffer
xglCmdClearColorImage
xglCmdClearColorImageRaw
xglCmdClearDepthStencilImage
xglCmdResolveImage
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 17:25:10 +0000 (11:25 -0600)]
xgl: Add IMAGE_LAYOUT to Cmd*Image* calls
This is part 2 of bug #12904.
(2) Blit operations need to know what layout images are in. How do they figure that out?
- Added new parameter(s) specifying the image layout(s) to the following functions:
xglCmdCopyImage
xglCmdCopyBufferToImage
xglCmdCopyImageToBuffer
xglCmdClearColorImage
xglCmdClearColorImageRaw
xglCmdClearDepthStencilImage
xglCmdResolveImage
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 17:25:10 +0000 (11:25 -0600)]
xgl: Add IMAGE_LAYOUT to Cmd*Image* calls
This is part 2 of bug #12904.
(2) Blit operations need to know what layout images are in. How do they figure that out?
- Added new parameter(s) specifying the image layout(s) to the following functions:
xglCmdCopyImage
xglCmdCopyBufferToImage
xglCmdCopyImageToBuffer
xglCmdClearColorImage
xglCmdClearColorImageRaw
xglCmdClearDepthStencilImage
xglCmdResolveImage
Courtney Goeltzenleuchter [Fri, 3 Apr 2015 20:42:51 +0000 (14:42 -0600)]
xgl: Add xglCmdBlitImage entry point
Rebase updates
Part one of adding support for abitrary scaled blits and format conversions.
Just interface here. Functionality to follow.
bug #13071
alpha rev: r29665
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 14:49:17 +0000 (08:49 -0600)]
xgl: Add IMAGE_LAYOUT_UNDEFINED
part 1 of bug #12904:
(1) What layout are images in when they are created?
- Added new XGL_IMAGE_LAYOUT_UNINITIALIZED constant. This is the layout images are in right after creation. The application has to transition images to some useable layout before using the image. It can only be used as the source layout of a resource transition.
An image is considered to have UNDEFINED layout in the following cases:
* right after creation
* if the contents of the memory backing the image has been changed by performing an operation on another resource which (partially or fully) shares the same memory backing
The content of an image that is in UNDEFINED layout is considered undefined and unless the image is transitioned to another layout any operation on the image results in the content of the image to stay undefined.
The application can transition any image from UNDEFINED layout to another layout anytime. Right after that the content of the image still remains undefined but subsequent operations performed on the image (e.g. clear) will have well defined results.
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 00:02:34 +0000 (18:02 -0600)]
xgl: Add XGL_PIPE_EVENT to CmdResetEvent
part 3 of bug #12904
alpha header: r29684 (0.59.0)
(3) Where does xglCmdResetEvent update the event's status? Unlike xglCmdSetEvent this function doesn't take a parameter specifying this.
- Added pipeEvent parameter also to xglCmdResetEvent. Also renamed XGL_SET_EVENT to XGL_PIPE_EVENT as now it's no longer used only for set operations.
Courtney Goeltzenleuchter [Mon, 9 Mar 2015 01:41:29 +0000 (19:41 -0600)]
xgl: Added XGL_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
bug #13066
alpha header: r29666
Currently not using this bit in sample driver.
Courtney Goeltzenleuchter [Sun, 8 Mar 2015 23:02:18 +0000 (17:02 -0600)]
xgl: Add xglCmdBlitImage entry point
Part one of adding support for abitrary scaled blits and format conversions.
Just interface here. Functionality to follow.
bug #13071
alpha rev: r29665
Courtney Goeltzenleuchter [Fri, 3 Apr 2015 21:25:24 +0000 (15:25 -0600)]
xgl: Proposal to remove XGL_FRAMEBUFFER
bug # 13323
alpha header: r29635
Don't actually remove XGL_FRAMEBUFFER but do change how
RenderPass and Framebuffer are connected. Some comments
from the bug:
- Created a new structure XGL_RENDER_PASS_BEGIN that contains
both the XGL_RENDER_PASS and XGL_FRAMEBUFFER.
- XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO and xglCmdBeginRenderPass
both use XGL_RENDER_PASS_BEGIN to ensure they stay consistent.
- Renamed the member in XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO to
renderPassContinue with a comment to clarify that this is
only needed when a render pass is split across two command buffer.
The last has the biggest impact on this patch. The tests now
directly call CmdBeginRenderPass and CmdEndRenderPass in the
command buffer rather than set the BEGIN_INFO to a render pass and
have the driver implicitly do BeginRenderPass and EndRenderPass.
It would probably still work, but didn't seem to match the intent
with this change in the header file.
Chia-I Wu [Sun, 22 Feb 2015 06:59:56 +0000 (14:59 +0800)]
icd: remove unused icd-log.[ch]
Courtney Goeltzenleuchter [Mon, 13 Apr 2015 20:35:54 +0000 (14:35 -0600)]
FIXUP: update xglDbg.h for XGL_INSTANCE
commit
ba1c0f351db007373bf16d95e607ec4511e27164
Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
Date: Mon Apr 13 14:10:06 2015 -0600
xgl: update xglDbg.h for XGL_INSTANCE
Jon Ashburn [Tue, 17 Mar 2015 19:47:55 +0000 (13:47 -0600)]
loader: Fix Dbg entrypoints with instance param to not loop all instances
DbgRegisterMsgCallback, DbgUnregisterMsgCallback, DbgSetGlobalOption were all
making these calls for all instances rather than just instance passed in as
parameter.
Courtney Goeltzenleuchter [Mon, 13 Apr 2015 20:10:06 +0000 (14:10 -0600)]
xgl: update xglDbg.h for XGL_INSTANCE
Add XGL_INSTANCE as the first parameter of xglDbgRegisterMsgCallback(),
xglDbgUnregisterMsgCallback(), and xglDbgSetGlobalOption().
The loader is simplified. loader_log() is modified to always output to
stderr.
glave is modified to register its message callback after xglEnumerateGpus(),
and xglDbgUnregisterMsgCallback() is called only before xglDestroyInstance().
XGL_INSTANCE is ignored by the layers and the driver for now.
Bump up API version to XGL_MAKE_VERSION(0, 56, 1).
Courtney Goeltzenleuchter [Wed, 4 Mar 2015 18:49:39 +0000 (11:49 -0700)]
xgl: Remove fixed and optimal tess factors
bug #12962
alpha header: r29633 (V0.56.0)
Courtney Goeltzenleuchter [Wed, 4 Mar 2015 18:26:38 +0000 (11:26 -0700)]
xgl: specialization constant proposal
Alpha header version: r29632
Courtney Goeltzenleuchter [Mon, 13 Apr 2015 20:33:40 +0000 (14:33 -0600)]
FIXUP: Add glave support for xglCmdClearColor patch
4559a6c90cdfc55ae94b0c5b9b9d0841031aa3d0 xgl: combine xglCmdClearColor* into one function
Courtney Goeltzenleuchter [Fri, 3 Apr 2015 22:35:32 +0000 (16:35 -0600)]
xgl: combine xglCmdClearColor* into one function
combined the two xglCmdClearColorImage* functions into one,
with the XGL_CLEAR_COLOR struct
bug # 13172
alpha header: r29626
Courtney Goeltzenleuchter [Fri, 3 Apr 2015 20:53:08 +0000 (14:53 -0600)]
loader: Fix prefix used to find layer library.
Courtney Goeltzenleuchter [Tue, 3 Mar 2015 18:38:12 +0000 (11:38 -0700)]
xgl: Update primitive topology enum
bug: 12959
header version: r29602
Courtney Goeltzenleuchter [Tue, 3 Mar 2015 18:30:36 +0000 (11:30 -0700)]
xgl: Add missing formats and remove channel mapping
Alpha header version: r29599
Changed formats:
XGL_FMT_BC1_UNORM => XGL_FMT_BC1_RGB_UNORM
XGL_FMT_BC1_SRGB => XGL_FMT_BC1_RGB_SRGB
XGL_FMT_ASTC_4x5_UNORM => XGL_FMT_ASTC_5x4_UNORM
XGL_FMT_ASTC_4x5_SRGB => XGL_FMT_ASTC_5x4_SRGB
New formats:
XGL_FMT_BC1_RGBA_UNORM
XGL_FMT_BC1_RGBA_SRGB
XGL_FMT_ETC2_R8G8B8_SRGB
XGL_FMT_ETC2_R8G8B8A1_SRGB
XGL_FMT_ETC2_R8G8B8A8_SRGB
XGL_FMT_B4G4R4A4_UNORM
XGL_FMT_B5G5R5A1_UNORM
None of the new formats are currently supported in the sample driver.
Courtney Goeltzenleuchter [Fri, 6 Mar 2015 01:09:39 +0000 (18:09 -0700)]
xgl: Impossible to expose multi-function queues
Bug: 13363
header version: r29597 (0.51.0)
included review feedback.
Tony Barbour [Wed, 8 Apr 2015 15:13:39 +0000 (09:13 -0600)]
icd: Dont follow next twice in for loop
Courtney Goeltzenleuchter [Fri, 27 Mar 2015 19:19:30 +0000 (13:19 -0600)]
xgl: Remove unneeded library includes from xgl include folder
Some library include files needed for the Windows build were put
in two places. Have elminated the redundant copies in the main
include folder and demos gets them from the appropriate library
in the libs folder.
Chia-I Wu [Thu, 16 Apr 2015 09:30:40 +0000 (17:30 +0800)]
demos/tri: fix a leak
03bc341897dc25ed717827eaaef5939b13bb5ec0 missed this line.
Chia-I Wu [Sat, 11 Apr 2015 08:07:13 +0000 (16:07 +0800)]
xgl-generate.py: rewrite LoaderEntrypointsSubcommand
With the goal to generalize dispatch rules and avoid code duplication. As a
result, xglOpenPeerImage() is fixed and xglAllocDescriptorSets() gains error
checking.
Chia-I Wu [Sat, 11 Apr 2015 07:34:07 +0000 (15:34 +0800)]
xgl-generate.py: add and use helpers from loader.h
Add helpers to loader.h to improve readability of LoaderEntrypointsSubcommand.
Chia-I Wu [Sat, 11 Apr 2015 02:56:50 +0000 (10:56 +0800)]
xgl-generate.py: add WinDefFileSubcommand
It replaces xgl-win-def-file-generate.py and is able to generate loader's
XGL.def.
Chia-I Wu [Sat, 11 Apr 2015 04:55:53 +0000 (12:55 +0800)]
demo: remove XCB_NVIDIA paths
The memory returned by xglWsiX11CreatePresentableImage() is not supposed to be
freed. This change at worse leaks the memories on app exiting for some
implementations. That should be fine.
Also, the function returns at most one memory. Remove multiple memory support
from tri.
Chia-I Wu [Sat, 11 Apr 2015 05:06:46 +0000 (13:06 +0800)]
demos: set EXTERNAL_SPV from CMakeLists.txt
Do not abuse XCB_NVIDIA.
Chia-I Wu [Sat, 11 Apr 2015 04:45:21 +0000 (12:45 +0800)]
demos: remove non-__linux__ paths
I do not think they work in that the framebuffer is created with
.colorAttachmentCount = 1,
.pColorAttachments = NULL,
If we want to support offscreen rendering, add a command line option for that.
If we want to support other window systems, refactor the code first.
Peter Lohrmann [Tue, 7 Apr 2015 00:25:03 +0000 (17:25 -0700)]
Merge branch 'master' of https://github.com/KhronosGroup/GL-Next
Peter Lohrmann [Mon, 6 Apr 2015 21:14:44 +0000 (14:14 -0700)]
Merge branch 'glave_snapshot_support'
Conflicts:
layers/CMakeLists.txt
tools/glave/scripts/vk_generate.py
tools/glave/src/glv_extensions/glvreplay_xgl/CMakeLists.txt
tools/glave/src/glv_extensions/glvtrace_xgl/CMakeLists.txt
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/glvtrace_xgl_xgl.c
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/glvtrace_xgl_xgl.h
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_size_helper.h
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_string_helper.h
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_string_helper_cpp.h
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_string_helper_no_addr.h
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_string_helper_no_addr_cpp.h
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_validate_helper.h
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_wrappers.cpp
tools/glave/src/glv_extensions/glvtrace_xgl/codegen/xgl_struct_wrappers.h
xgl_helper.py
Tobin Ehlis [Mon, 6 Apr 2015 15:24:42 +0000 (09:24 -0600)]
layers: Update layer README.md info with current DrawState and MemTracker status
Mark Lobodzinski [Mon, 6 Apr 2015 20:24:40 +0000 (15:24 -0500)]
demos: Fix shader assert in tri.c
Updating tri demo's shader versions to 140 keeps them from asserting
Mark Lobodzinski [Fri, 3 Apr 2015 01:49:09 +0000 (20:49 -0500)]
layers: Updated for explicit fence validation with multiple queues
Fences were being validated to make sure they had been retired, layer
was updated to validate that the app has checked the fences.
Mark Lobodzinski [Thu, 2 Apr 2015 13:52:53 +0000 (08:52 -0500)]
layers: Added support for multiple queues
Not supported on Intel, but will be on other hw.
Mark Lobodzinski [Tue, 31 Mar 2015 21:05:35 +0000 (16:05 -0500)]
layers: Added GetDeviceQueue API, fixed up variable names
Updated LinkedList-related variable names
Piers Daniell [Fri, 3 Apr 2015 23:46:24 +0000 (17:46 -0600)]
Merge remote-tracking branch 'origin/master'
Conflicts:
loader/loader.c
Piers Daniell [Fri, 3 Apr 2015 23:44:52 +0000 (17:44 -0600)]
loader: Work correctly when there is no reg entry
Without this fix the loader will crash if there is no registry entry.
Piers Daniell [Fri, 3 Apr 2015 23:44:02 +0000 (17:44 -0600)]
demo: tri: Use explicit locations on the attribs
Without this the attributes may assume the wrong vertex attrib slot.
Piers Daniell [Fri, 3 Apr 2015 23:42:59 +0000 (17:42 -0600)]
demos: copy XGL.dll to target folder
Makes life easier so the XGL.dll doesn't have to be manually copied
every time.
Ian Elliott [Fri, 3 Apr 2015 21:24:55 +0000 (15:24 -0600)]
Have demos give a useful error if no compatible ICD found.
Ian Elliott [Fri, 3 Apr 2015 19:13:01 +0000 (13:13 -0600)]
Fix NULL-pointer dereference if can't find registry entry.
Peter Lohrmann [Fri, 3 Apr 2015 18:43:06 +0000 (11:43 -0700)]
layers: update codegen to split struct_size_helper into .h and .c files.
* Also added a copyright notice to all the generated files.
* Splitting the definition from the declaration was needed to better utilize these helpers in glave.
Peter Lohrmann [Wed, 1 Apr 2015 20:54:18 +0000 (13:54 -0700)]
glaveSnapshot: snapshot now does deep copy of DEVICE_CREATE_INFO struct.
* Add new local methods to do a deep copy of the DEVICE_CREATE_INFO struct. A similar method is added to do a deep free of the struct. This is just to experiment with what will be needed to support all the Create* entrypoints; most of this should be code-gen'ed later on.
* The CreateInfo struct is now also printed as part of glvSnapshotPrintDelta to confirm that it is working via the UI. Note the helper function I'm using to print the struct will only print the first layer in the list. It doesn't support printing > 1 layer.
Peter Lohrmann [Mon, 30 Mar 2015 23:29:56 +0000 (16:29 -0700)]
xgl_helper: sort dictionaries to make generated output consistent
Tobin Ehlis [Wed, 1 Apr 2015 17:59:08 +0000 (11:59 -0600)]
layers: Shadow PSO Creation structs directly in PIPELINE_NODE
This simplifies creation and desctruction as well as validation of PSO.
Tobin Ehlis [Wed, 1 Apr 2015 14:40:34 +0000 (08:40 -0600)]
layers: Add DrawState validation that FB samples matches PSO samples
Ian Elliott [Tue, 31 Mar 2015 21:32:41 +0000 (15:32 -0600)]
New loader_get_registry_value() function reads 32/64 registry ...
This version should be able to find a key/value if it exists in either the 32
or 64 bit hive. Also, it also doesn't allocate any string data until it knows
what size is needed.
Changed the "xcv_nvidia.cpp" file to also use the new registry approach.
Peter Lohrmann [Mon, 30 Mar 2015 23:29:56 +0000 (16:29 -0700)]
xgl_helper: sort dictionaries to make generated output consistent
Peter Lohrmann [Thu, 26 Mar 2015 04:35:32 +0000 (21:35 -0700)]
glave: move code-gen'ed files.
* glave-generate.py has moved into tools/glave/scripts/ and renamed to vk_generate.py
* still reference xgl.py and xgl_helper.py from GL-Next directory.
* all glave-specific code-gen'ed files now live in the source tree
* all glave-specific code-gen'ed files are now generated into a "codegen" directory local to the project to make it easier to spot when a generated file has changed or is being debugged.
* all glave-specific code-gen'ed files are now being checked in so that we can better track differences caused by the code-gen as the header file evolves.
(based on squash of the follow two cherry-picks, plus some additional changes to remove files generated by xgl_helper.py since they change every build)
(cherry picked from commit
eec461f4bc68c5ac12a6b73b9f6e5464be0640bf)
(cherry picked from commit
2614252bfc3fe9c2cd8470b3b42b529a69f2e3f3)
Peter Lohrmann [Mon, 30 Mar 2015 19:58:50 +0000 (12:58 -0700)]
glaveSnapshot: Reorganize creation/insertion and deletion of objects
* Return value of api's Create* calls is now ensured to be XGL_SUCCESS before attempting to track the object.
* Created objects are now inserted into a snapshot's global and object lists, then the node is returned so that the caller can populate additional information in the pStruct member if needed.
* The list of devices now uses the GLV_VK_SNAPSHOT_LL_NODE because device object nodes will be linked into the global list and object lists to help avoid duplication of data.
* When a created object needs to get deleted, snapshot_remove_object(..) will search for the object in the global list and remove the node from both lists before returning a pointer to the node (or NULL if the object was not in the global list, meaning we didn't see the creation). The caller should delete the pStruct member as appropriate and then delete the node itself. If the creation of the object was not captured, the caller should add the object to the deleted object list.
* Deleted objects (whose creation was not recorded) now get tracked using a different linked-list struct than other objects. There is a lot less known information related to a deleted object, so there's no need to use the larger struct.
Peter Lohrmann [Sat, 28 Mar 2015 00:31:17 +0000 (17:31 -0700)]
GlaveSnapshot: Remove ifdef'd code for OBJ_NODES.
* The new tracking of objects in the snapshot struct is working, and will soon diverge from the OBJ_NODES functionality.
Peter Lohrmann [Fri, 27 Mar 2015 03:38:12 +0000 (20:38 -0700)]
GlaveSnapshot Layer: Objects are now tracked within a GLV_VK_SNAPSHOT structure.
* Moved the previously static linked lists into a snapshot structure. Old functionality is available temporarily via a defined macro
* Added a description of how the master and delta snapshots are planned to function.
* Added new entrypoints for planned snapshot functionality.
* Started expanding tracking of XGL_DEVICE objects to get a better understanding of what will need to be done for each of the different object types. Some code-gen (or possibly existing scripts) will likely help here.
Jon Ashburn [Fri, 27 Mar 2015 22:23:47 +0000 (16:23 -0600)]
glave: Add ability for replay memory allocations and mapping to be pending
Jon Ashburn [Thu, 26 Mar 2015 22:15:18 +0000 (16:15 -0600)]
glave: Consolidate the maped data and gpu memory maps used during replay
Now the information is all within a single STL map.
Jon Ashburn [Tue, 24 Mar 2015 17:05:02 +0000 (11:05 -0600)]
glave: Make the XGL_GPU_MEMORY object mapping use a structure. Needed so can merge the Memory object data and info into the same mapping.
Jon Ashburn [Mon, 23 Mar 2015 15:27:33 +0000 (09:27 -0600)]
glave: Track Buffer and Image memory requirements during replay.
This is start of replayer having it's own memory manager. Needed since
trace GPU may not have same memory requirements for objects as replay GPU
Tobin Ehlis [Thu, 26 Mar 2015 14:24:16 +0000 (08:24 -0600)]
layers: Correct xglBindObjectMemory signature in MemTracker message.
Peter Lohrmann [Thu, 26 Mar 2015 04:35:32 +0000 (21:35 -0700)]
glave: move code-gen'ed files.
* glave-generate.py has moved into tools/glave/scripts/ and renamed to vk-generate.py
* all code-gen'ed files now live in the source tree
* all code-gen'ed files are now generated into a "codegen" directory local to the project to make it easier to spot when a generated file has changed or is being debugged.
* all code-gen'ed files are now being checked in so that we can better track differences caused by the code-gen as the header file evolves.
Peter Lohrmann [Thu, 26 Mar 2015 03:37:02 +0000 (20:37 -0700)]
GlaveSnapshot layer: remove code specific to validation
Tobin Ehlis [Tue, 17 Mar 2015 22:24:32 +0000 (16:24 -0600)]
layers: Migrated DrawState layer to cpp
Move almost all linked-lists to unordered_maps and vectors.
Clean up malloc/free with new/delete.
Skip write-strings compile warnings for graphviz_helper.
Still need to migrate the DS update tree to c++.
Tobin Ehlis [Mon, 16 Mar 2015 17:49:58 +0000 (11:49 -0600)]
layers: Rename synchDS function to validateVBBinding
Mark Lobodzinski [Tue, 24 Mar 2015 21:29:24 +0000 (16:29 -0500)]
layers: Convert memtracker to cpp
Take advantage of containers, memory allocation, and strings.
Peter Lohrmann [Wed, 25 Mar 2015 17:35:03 +0000 (10:35 -0700)]
GlaveSnapshot layer: Snapshot information is now passed to the message callback.
* This way it can be passed to the UI.
* Comment out other XGL_DBG_MSG_UNKNOWN messages so there isn't as much info spew.
Peter Lohrmann [Wed, 25 Mar 2015 00:19:24 +0000 (17:19 -0700)]
glvreplay_xgl: use the GlaveSnapshot layer to print tracked objects.
* Currently this is called as part of dump_validation_data(), which is called when the replayer is paused.
Peter Lohrmann [Wed, 25 Mar 2015 00:15:03 +0000 (17:15 -0700)]
GlaveSnapshot layer: Rename enums and entrypoints to make them layer specific; add an entrypoint to print the object lists.
* glvSnapshotPrintObjects() is now exported and causes the tracked objects to get printed out (currently to the console).
** This will be used to help debug the contents of the snapshot as this layer is being developed.
Peter Lohrmann [Tue, 24 Mar 2015 23:31:39 +0000 (16:31 -0700)]
GlaveSnapshot Layer: XGL_OBJECT_TYPE_PRESENTABLE_IMABE_MEMORY enum can now be converted to a string.
Peter Lohrmann [Tue, 24 Mar 2015 23:30:17 +0000 (16:30 -0700)]
GlaveSnapshot Layer: Use correct header file.
Peter Lohrmann [Tue, 24 Mar 2015 23:14:01 +0000 (16:14 -0700)]
GlaveSnapshot Layer: Initial code which is basically a copy of the ObjectTracker layer.
* Using the ObjectTracker since it already keeps track of the objects being created and destroyed. This is a huge benefit to have as a starting point for the snapshots!
* I've made a few minor changes to ensure the layer gets enabled and the output messages are using a different tag so they can be distinguished from the ObjectTracker.
* Added the new layer to CMakeLists.
Mike Stroyan [Tue, 24 Mar 2015 21:13:34 +0000 (15:13 -0600)]
demos: Use lower left coord origin for cube
The intel driver currently does only XGL_COORDINATE_ORIGIN_LOWER_LEFT.
Use it for now.
Mike Stroyan [Thu, 19 Mar 2015 20:29:04 +0000 (14:29 -0600)]
demos: Make cube use back face culling.
Use back face culling to confirm that the sense is correct.
Mike Stroyan [Mon, 23 Mar 2015 23:36:54 +0000 (17:36 -0600)]
Note how to pin xserver-xorg-video-intel
Prevent updates from overwriting xserver-xorg-video-intel and breaking DRI3.
Jon Ashburn [Wed, 18 Mar 2015 18:01:19 +0000 (12:01 -0600)]
BUILD.md: Update Windows instructions for correct registry and python3.3