platform/upstream/Vulkan-Tools.git
9 years agobuild: enable Glave and all layers but drawState
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)

9 years agolayers: DrawState changes to support resource binding updates
Tobin Ehlis [Fri, 3 Apr 2015 18:01:11 +0000 (12:01 -0600)]
layers: DrawState changes to support resource binding updates

9 years agolayers: Fixes to get them building and working with descriptor changes
Courtney Goeltzenleuchter [Fri, 3 Apr 2015 04:54:15 +0000 (22:54 -0600)]
layers: Fixes to get them building and working with descriptor changes

9 years agoglave: Rename descriptor region to descriptor pool
Jon Ashburn [Mon, 30 Mar 2015 15:11:02 +0000 (09:11 -0600)]
glave: Rename descriptor region to descriptor pool

9 years agobinding: update for xglCmdBindDescriptorSets()
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

9 years agobinding: update for pImmutableSamplers
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)

9 years agobinding: introduce XGL_DESCRIPTOR_SET_LAYOUT_CHAIN
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)

9 years agobinding: remove XGL_DESCRIPTOR_TYPE_RAW_BUFFER*
Chia-I Wu [Thu, 26 Mar 2015 07:26:05 +0000 (15:26 +0800)]
binding: remove XGL_DESCRIPTOR_TYPE_RAW_BUFFER*

9 years agobinding: rename xglClearDescriptorPool()
Chia-I Wu [Thu, 26 Mar 2015 07:23:52 +0000 (15:23 +0800)]
binding: rename xglClearDescriptorPool()

Rename it to xglResetDescriptorPool().

9 years agobinding: update XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO
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.

9 years agobinding: rename descriptor region to descriptor pool
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.

9 years agobinding: disable layers and tools
Chia-I Wu [Sat, 28 Mar 2015 01:59:21 +0000 (09:59 +0800)]
binding: disable layers and tools

9 years agolayers: Correct xglBindObjectMemory signature in MemTracker message.
Tobin Ehlis [Thu, 26 Mar 2015 14:24:16 +0000 (08:24 -0600)]
layers: Correct xglBindObjectMemory signature in MemTracker message.

9 years agolayers: Migrated DrawState layer to cpp
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++.

9 years agolayers: Convert memtracker to cpp
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.

9 years agoxgl: Update interface for sparse vertex attrs
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

9 years agoEliminate some Windows-compilation warnings.
Ian Elliott [Fri, 3 Apr 2015 15:54:13 +0000 (09:54 -0600)]
Eliminate some Windows-compilation warnings.

9 years agoobj_track: Eliminate warning for presentable image
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.

9 years agomem_tracker: Report PRESENTABLE_IMAGE_MEMORY obj
Courtney Goeltzenleuchter [Thu, 26 Mar 2015 22:15:39 +0000 (16:15 -0600)]
mem_tracker: Report PRESENTABLE_IMAGE_MEMORY obj

9 years agodemos: Correct use of pipeline barrier
Courtney Goeltzenleuchter [Wed, 25 Mar 2015 19:36:41 +0000 (13:36 -0600)]
demos:  Correct use of pipeline barrier

9 years agoxgl: Rename XGL_QUEUE_SEMAPHORE to XGL_SEMAPHORE
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)

9 years agoxgl: xglWaitForFences timeout units
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)

9 years agoxgl: Consistent naming scheme for resources in XGL
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.

9 years agoxgl: Remove xglSetFastClearColor / xglSetFastClearDepth
Courtney Goeltzenleuchter [Mon, 13 Apr 2015 22:13:30 +0000 (16:13 -0600)]
xgl: Remove xglSetFastClearColor / xglSetFastClearDepth

header: r29714 (0.61.0)

9 years agoFIXUP: Remove PIPELINE_DELTA
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.

9 years agoxgl: Remove PIPELINE_DELTA.
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)

9 years agoFIXUP: Add IMAGE_LAYOUT
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

9 years agoxgl: Add IMAGE_LAYOUT to Cmd*Image* calls
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

9 years agoxgl: Add IMAGE_LAYOUT to Cmd*Image* calls
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

9 years agoxgl: Add xglCmdBlitImage entry point
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

9 years agoxgl: Add IMAGE_LAYOUT_UNDEFINED
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.

9 years agoxgl: Add XGL_PIPE_EVENT to CmdResetEvent
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.

9 years agoxgl: Added XGL_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
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.

9 years agoxgl: Add xglCmdBlitImage entry point
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

9 years agoxgl: Proposal to remove XGL_FRAMEBUFFER
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.

9 years agoicd: remove unused icd-log.[ch]
Chia-I Wu [Sun, 22 Feb 2015 06:59:56 +0000 (14:59 +0800)]
icd: remove unused icd-log.[ch]

9 years agoFIXUP: update xglDbg.h for XGL_INSTANCE
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

9 years agoloader: Fix Dbg entrypoints with instance param to not loop all instances
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.

9 years agoxgl: update xglDbg.h for XGL_INSTANCE
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).

9 years agoxgl: Remove fixed and optimal tess factors
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)

9 years agoxgl: specialization constant proposal
Courtney Goeltzenleuchter [Wed, 4 Mar 2015 18:26:38 +0000 (11:26 -0700)]
xgl: specialization constant proposal

Alpha header version: r29632

9 years agoFIXUP: Add glave support for xglCmdClearColor patch
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

9 years agoxgl: 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

9 years agoloader: Fix prefix used to find layer library.
Courtney Goeltzenleuchter [Fri, 3 Apr 2015 20:53:08 +0000 (14:53 -0600)]
loader: Fix prefix used to find layer library.

9 years agoxgl: Update primitive topology enum
Courtney Goeltzenleuchter [Tue, 3 Mar 2015 18:38:12 +0000 (11:38 -0700)]
xgl: Update primitive topology enum

bug: 12959
header version: r29602

9 years agoxgl: Add missing formats and remove channel mapping
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.

9 years agoxgl: Impossible to expose multi-function queues
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.

9 years agoicd: Dont follow next twice in for loop
Tony Barbour [Wed, 8 Apr 2015 15:13:39 +0000 (09:13 -0600)]
icd: Dont follow next twice in for loop

9 years agoxgl: Remove unneeded library includes from xgl include folder
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.

9 years agodemos/tri: fix a leak
Chia-I Wu [Thu, 16 Apr 2015 09:30:40 +0000 (17:30 +0800)]
demos/tri: fix a leak

03bc341897dc25ed717827eaaef5939b13bb5ec0 missed this line.

9 years agoxgl-generate.py: rewrite LoaderEntrypointsSubcommand
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.

9 years agoxgl-generate.py: add and use helpers from loader.h
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.

9 years agoxgl-generate.py: add WinDefFileSubcommand
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.

9 years agodemo: remove XCB_NVIDIA paths
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.

9 years agodemos: set EXTERNAL_SPV from CMakeLists.txt
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.

9 years agodemos: remove non-__linux__ paths
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.

9 years agoMerge branch 'master' of https://github.com/KhronosGroup/GL-Next
Peter Lohrmann [Tue, 7 Apr 2015 00:25:03 +0000 (17:25 -0700)]
Merge branch 'master' of https://github.com/KhronosGroup/GL-Next

9 years agoMerge branch 'glave_snapshot_support'
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

9 years agolayers: Update layer README.md info with current DrawState and MemTracker status
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

9 years agodemos: Fix shader assert in tri.c
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

9 years agolayers: Updated for explicit fence validation with multiple queues
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.

9 years agolayers: Added support for multiple queues
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.

9 years agolayers: Added GetDeviceQueue API, fixed up variable names
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

9 years agoMerge remote-tracking branch 'origin/master'
Piers Daniell [Fri, 3 Apr 2015 23:46:24 +0000 (17:46 -0600)]
Merge remote-tracking branch 'origin/master'

Conflicts:
loader/loader.c

9 years agoloader: Work correctly when there is no reg entry
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.

9 years agodemo: tri: Use explicit locations on the attribs
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.

9 years agodemos: copy XGL.dll to target folder
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.

9 years agoHave demos give a useful error if no compatible ICD found.
Ian Elliott [Fri, 3 Apr 2015 21:24:55 +0000 (15:24 -0600)]
Have demos give a useful error if no compatible ICD found.

9 years agoFix NULL-pointer dereference if can't find registry entry.
Ian Elliott [Fri, 3 Apr 2015 19:13:01 +0000 (13:13 -0600)]
Fix NULL-pointer dereference if can't find registry entry.

9 years agolayers: update codegen to split struct_size_helper into .h and .c files.
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.

9 years agoglaveSnapshot: snapshot now does deep copy of DEVICE_CREATE_INFO struct.
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.

9 years agoxgl_helper: sort dictionaries to make generated output consistent
Peter Lohrmann [Mon, 30 Mar 2015 23:29:56 +0000 (16:29 -0700)]
xgl_helper: sort dictionaries to make generated output consistent

9 years agolayers: Shadow PSO Creation structs directly in PIPELINE_NODE
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.

9 years agolayers: Add DrawState validation that FB samples matches PSO samples
Tobin Ehlis [Wed, 1 Apr 2015 14:40:34 +0000 (08:40 -0600)]
layers: Add DrawState validation that FB samples matches PSO samples

9 years agoNew loader_get_registry_value() function reads 32/64 registry ...
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.

9 years agoxgl_helper: sort dictionaries to make generated output consistent
Peter Lohrmann [Mon, 30 Mar 2015 23:29:56 +0000 (16:29 -0700)]
xgl_helper: sort dictionaries to make generated output consistent

9 years agoglave: move code-gen'ed files.
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)

9 years agoglaveSnapshot: Reorganize creation/insertion and deletion of objects
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.

9 years agoGlaveSnapshot: Remove ifdef'd code for OBJ_NODES.
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.

9 years agoGlaveSnapshot Layer: Objects are now tracked within a GLV_VK_SNAPSHOT structure.
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.

9 years agoglave: Add ability for replay memory allocations and mapping to be pending
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

9 years agoglave: Consolidate the maped data and gpu memory maps used during replay
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.

9 years agoglave: Make the XGL_GPU_MEMORY object mapping use a structure. Needed so can merge...
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.

9 years agoglave: Track Buffer and Image memory requirements during replay.
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

9 years agolayers: Correct xglBindObjectMemory signature in MemTracker message.
Tobin Ehlis [Thu, 26 Mar 2015 14:24:16 +0000 (08:24 -0600)]
layers: Correct xglBindObjectMemory signature in MemTracker message.

9 years agoglave: move code-gen'ed files.
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.

9 years agoGlaveSnapshot layer: remove code specific to validation
Peter Lohrmann [Thu, 26 Mar 2015 03:37:02 +0000 (20:37 -0700)]
GlaveSnapshot layer: remove code specific to validation

9 years agolayers: Migrated DrawState layer to cpp
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++.

9 years agolayers: Rename synchDS function to validateVBBinding
Tobin Ehlis [Mon, 16 Mar 2015 17:49:58 +0000 (11:49 -0600)]
layers: Rename synchDS function to validateVBBinding

9 years agolayers: Convert memtracker to cpp
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.

9 years agoGlaveSnapshot layer: Snapshot information is now passed to the message callback.
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.

9 years agoglvreplay_xgl: use the GlaveSnapshot layer to print tracked objects.
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.

9 years agoGlaveSnapshot layer: Rename enums and entrypoints to make them layer specific; add...
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.

9 years agoGlaveSnapshot Layer: XGL_OBJECT_TYPE_PRESENTABLE_IMABE_MEMORY enum can now be convert...
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.

9 years agoGlaveSnapshot Layer: Use correct header file.
Peter Lohrmann [Tue, 24 Mar 2015 23:30:17 +0000 (16:30 -0700)]
GlaveSnapshot Layer: Use correct header file.

9 years agoGlaveSnapshot Layer: Initial code which is basically a copy of the ObjectTracker...
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.

9 years agodemos: Use lower left coord origin for cube
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.

9 years agodemos: Make cube use back face culling.
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.

9 years agoNote how to pin xserver-xorg-video-intel
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.

9 years agoBUILD.md: Update Windows instructions for correct registry and python3.3
Jon Ashburn [Wed, 18 Mar 2015 18:01:19 +0000 (12:01 -0600)]
BUILD.md:  Update Windows instructions for correct registry and python3.3