platform/upstream/Vulkan-LoaderAndValidationLayers.git
9 years agoWin: Build both "layer_utils.lib" and "layer_utils.dll".
Ian Elliott [Thu, 12 Feb 2015 18:36:44 +0000 (11:36 -0700)]
Win: Build both "layer_utils.lib" and "layer_utils.dll".

9 years agointel: increase max_batch_buffer_size to 150K dwords
Mike Stroyan [Mon, 9 Feb 2015 20:08:26 +0000 (13:08 -0700)]
intel: increase max_batch_buffer_size to 150K dwords

Increasing the max batch buffer size allows more relocations per command buffer.

9 years agointel: suppress PIPE_CONTROL with 0 flags
Mike Stroyan [Sat, 31 Jan 2015 00:21:08 +0000 (17:21 -0700)]
intel: suppress PIPE_CONTROL with 0 flags

9 years agointel: use surface base offset for meta surfaces
Mike Stroyan [Tue, 10 Feb 2015 22:09:23 +0000 (15:09 -0700)]
intel: use surface base offset for meta surfaces

Subtract off surface base address from surface offsets in meta surface states.

9 years agointel: honor 64KB limit of BINDING_TABLE_STATEs
Chia-I Wu [Mon, 9 Feb 2015 20:17:47 +0000 (04:17 +0800)]
intel: honor 64KB limit of BINDING_TABLE_STATEs

The higher 16 bits of binding table offset in 3DSTATE_BINDING_TABLE_POINTERS_x
must be 0.  BINDING_TABLE_STATEs must reside in the first 64KB of Surface
State Base Address as programmed by STATE_BASE_ADDRESS.

In this commit, we update Surface State Base Address when there is a chance to
exceed the limit.

9 years agointel: allocate a separate surface state bo
Chia-I Wu [Mon, 9 Feb 2015 20:07:40 +0000 (04:07 +0800)]
intel: allocate a separate surface state bo

Add INTEL_CMD_WRITER_SURFACE to intel_cmd, and write BINDING_TABLE_STATEs and
SURFACE_STATEs to the new writer.  Fix cmd_batch_state_base_address() up for
the separation.

9 years agointel: BINDING_TABLE_STATEs are in surface state bo
Chia-I Wu [Mon, 9 Feb 2015 20:07:29 +0000 (04:07 +0800)]
intel: BINDING_TABLE_STATEs are in surface state bo

Logically, we want to write BINDING_TABLE_STATEs with cmd_surface_write()
instead of cmd_state_write().  They are the same now, but we are going to
change that.

9 years agointel: refactor cmd_batch_begin()
Chia-I Wu [Mon, 9 Feb 2015 20:11:31 +0000 (04:11 +0800)]
intel: refactor cmd_batch_begin()

Add cmd_batch_state_base_address() and call it from cmd_batch_begin().

9 years agointel: Initialize bool to prevent using bad format data
Cody Northrop [Tue, 10 Feb 2015 16:28:30 +0000 (09:28 -0700)]
intel: Initialize bool to prevent using bad format data

9 years agoglvdebug: Fix UI interactions when a ProxyModel is being used on the API Call Tree.
Peter Lohrmann [Thu, 12 Feb 2015 02:54:58 +0000 (18:54 -0800)]
glvdebug: Fix UI interactions when a ProxyModel is being used on the API Call Tree.

* Selecting a timeline item now correctly selects Call Tree Item, and vice-versa.
* Navigating by draw call now supports ProxyModels.
* Navigating by search results now supports ProxyModels.
* Pressing [Enter] after typing in a search string does NOT yet search correctly when a ProxyModel is used.
** It will always turn the search text box red, as if it didn't not find the string, even though the string may actually exist in the tree.
** However, typing in the search text box DOES properly highlight the matching fields. Just pressing [Enter] doesn't work as expected.

9 years agoglvdebug_xgl: Fix potential crash in QGroupFramesProxyModel.
Peter Lohrmann [Thu, 12 Feb 2015 02:53:58 +0000 (18:53 -0800)]
glvdebug_xgl: Fix potential crash in QGroupFramesProxyModel.

* Crash would occur if row was outside of valid range.

9 years agoglvreplay_xgl: Fix unregistering of debug message callback.
Peter Lohrmann [Wed, 11 Feb 2015 21:56:35 +0000 (13:56 -0800)]
glvreplay_xgl: Fix unregistering of debug message callback.

* This now returns successfully, however loading & replaying a new trace file will still result in a crash.

9 years agoglvdebug: Hide the unused State tab.
Peter Lohrmann [Wed, 11 Feb 2015 21:39:10 +0000 (13:39 -0800)]
glvdebug: Hide the unused State tab.

* We currently don't support any content for this tab, so removing it.
* The tabWidget must be created with a tab, so it can't go away completely, but at least it allows us to remove the one tab.

9 years agoglvdebug: Add highlight and shadow around timeline items.
Peter Lohrmann [Tue, 10 Feb 2015 23:21:13 +0000 (15:21 -0800)]
glvdebug: Add highlight and shadow around timeline items.

* This makes it easier to distinguish between items that are right next to one another.
* Also fix the black border that is drawn around the current item, it was overlapping the left-most pixel of the item.

9 years agoglvdebug: Timeline optimizations.
Peter Lohrmann [Tue, 10 Feb 2015 22:01:55 +0000 (14:01 -0800)]
glvdebug: Timeline optimizations.

* Improve rendering performance by calculating a per-thread drawing mask, to prevent drawing multiple timeline items to the same pixel.
** If any of the pixels covered by the item have not been drawn to before, then the item will be drawn. This avoids small items from hiding longer items.
** In a trace with 819115 items, this mask removed 817911 items, resulting in only 1204 being drawn, with no loss of quality in the timeline.

* Improve performance of IndexAt() by first checking if the point is within the area that timeline items are drawn.

9 years agoglvdebug: Improve zooming of timeline.
Peter Lohrmann [Tue, 10 Feb 2015 20:48:17 +0000 (12:48 -0800)]
glvdebug: Improve zooming of timeline.

* Timeline zoom is now smoothed using cos()
* Zooming will now happen centered on the mouse position.

9 years agoglvdebug: Removed draw state diagram while not paused.
Jeremy Hayes [Tue, 10 Feb 2015 16:36:46 +0000 (09:36 -0700)]
glvdebug: Removed draw state diagram while not paused.

9 years agoglvdebug: Major changes to the Timeline.
Peter Lohrmann [Tue, 10 Feb 2015 00:00:57 +0000 (16:00 -0800)]
glvdebug: Major changes to the Timeline.

* The timeline can now be zoomed and scrolled.
* Timeline items are drawn with a gradient to help distinguish items that are next to each other (this still needs some improvement).
* All the timeline rectangles are now pre-built, and only the rects that are within the viewport are drawn.
* If the timeline is zoomed in, clicking in the call tree with scroll to and center the selected item in the timeline.
* Rendering of the timeline is interactive depending on the number of items in view. However when the entire timeline is visible there are lots of rects being drawn to the same pixel; this leaves lots of room for optimization.

9 years agoglvdebug: Timeline now supports ItemDelegates, and other rendering improvements.
Peter Lohrmann [Thu, 5 Feb 2015 00:21:34 +0000 (16:21 -0800)]
glvdebug: Timeline now supports ItemDelegates, and other rendering improvements.

* Timeline items are now drawn with a default QAbstractItemDelegate. Supporting delegates means we can have more interesting rendering options down the road (ie, colors based on things other than duration cost).
* Cleaned up extraneous (and confusing) calls to translate the painter, and also removed unnecessary calls save() and restore() the painter state.
* The timeline marker is now positioned centered under the item rect, which makes it look much cleaner than before.
* The timeline marker is now a little larger and has an antialiased dark gray border instead of an aliased black border.

9 years agoglvdebug: Timeline Improvements.
Peter Lohrmann [Wed, 4 Feb 2015 20:59:22 +0000 (12:59 -0800)]
glvdebug: Timeline Improvements.

* Draw black outline around current timeline item
* Current timeline item is controlled by setCurrentIndex() as provided by QAbstractItemView.
* Clicking on a timeline item selects it as the current index.
* Selecting a timeline item also selects the corresponding index in the tree view.
** Caveat: does not yet work with proxy models on the tree view.
* Current timeline item marker (arrow) is drawn in yellow rather than a funky gradient.
* Optimized finding of current timeline item (don't search for the index, just ask for it!)
* Misc code clean up in timeline and glvdebug.

9 years agoglvdebug: Replaced system calls with Qt.
Jeremy Hayes [Wed, 4 Feb 2015 18:52:14 +0000 (11:52 -0700)]
glvdebug: Replaced system calls with Qt.

    Replaced "access" call with QFileInfo.
    Replaced "system" call with QProcess.

9 years agoAdd draw state diagram on pause events.
Jeremy Hayes [Thu, 29 Jan 2015 20:03:36 +0000 (13:03 -0700)]
Add draw state diagram on pause events.

    Add a Qt image viewer.
    Use Qt image viewer to view draw state diagram.
    Dump DOT files in appropriate entry points.

Conflicts:
layers/draw_state.c

9 years agoglvdebug: Update TODO
Peter Lohrmann [Wed, 4 Feb 2015 03:13:37 +0000 (19:13 -0800)]
glvdebug: Update TODO

* Added new timeline enhancements - per-thread timelines, and tooltips
* API Call tree can be grouped by thread id

9 years agoglvdebug: Timeline now supports tooltips.
Peter Lohrmann [Wed, 4 Feb 2015 03:05:45 +0000 (19:05 -0800)]
glvdebug: Timeline now supports tooltips.

* Hovering the mouse cursor over a timeline item now displays a tool tip that shows the call index, and entrypoint name & parameters.
* Currently the tooltip has a black background and looks like a window that failed to render, but as far as I can tell that is the default support for tooltips. We can probably spice it up a bit in the future.
* This change also implements several virtual methods of QAbstractItemView; I'm not convinced that they all work properly, but I'm sure additional testing and usage will help solidify things.

9 years agoglvdebug: Initial support for per-thread timelines.
Peter Lohrmann [Wed, 4 Feb 2015 00:47:13 +0000 (16:47 -0800)]
glvdebug: Initial support for per-thread timelines.

* This supports all the previous functionality, except that now a separate timeline is drawn for each thread, and the thread Id is displayed on the timeline.
* When the current API call changes, the timeline will update, and the marker will indicate which thread the call is on.
* The new implementation inherits from QAbstractItemView, so it will give us much more interaction in the future, including selecting timeline items and displaying tooltips.
* The new implementation also directly uses the glvdebug_QTraceFileModel, and thus removes the need for the glvdebug_timelineitem and glvdebug_timelinemodel. This saves time when loading and also ensures that the API call tree and timeline are reflecting the same underlying data.

Caveats:
* When more than 4-5 threads are being used, the layout of the thread Id text, timeline items, and current API call marker starts to overlap and look bad. This will be revisited.
* The current view will not properly support a ProxyModel, so enabling or disabling the GroupFramesProxyModel and GroupThreadsProxyModel will have no affect on the timeline.

9 years agoglvdebug: Fix bugs in QGroupThreadsProxyModel
Peter Lohrmann [Fri, 30 Jan 2015 01:32:44 +0000 (17:32 -0800)]
glvdebug: Fix bugs in QGroupThreadsProxyModel

* The 'Thread #' columns now only show contents if the associated API call (or group node) is for that specific thread id.
* Fix bug that was causing the last child of a thread node to be associated with the incorrect group - which caused some thread nodes to appear empty.

9 years agoglvdebug: Hide the 'Thread Id' column if the QGroupThreadsProxyModel is being used.
Peter Lohrmann [Wed, 28 Jan 2015 22:43:59 +0000 (14:43 -0800)]
glvdebug: Hide the 'Thread Id' column if the QGroupThreadsProxyModel is being used.

9 years agoglvdebug: Refactor column index logic in QGroupThreadsProxyModel.
Peter Lohrmann [Wed, 28 Jan 2015 21:49:24 +0000 (13:49 -0800)]
glvdebug: Refactor column index logic in QGroupThreadsProxyModel.

* Centralize where the column index comparison happens to make reading the code easier.
* Also a helper function for coverting a proxy column index into a 'thread #' column index.

9 years agoglvdebug: GroupThreadsProxyModel improvements.
Peter Lohrmann [Wed, 28 Jan 2015 19:51:46 +0000 (11:51 -0800)]
glvdebug: GroupThreadsProxyModel improvements.

* Simplify threadId look-up by finding the key from the value.
* The 'Thread #' column now shows the thread Id for the thread group nodes, this will help with visualizing thread execution when all nodes are collapsed.

9 years agoglvdebug: Improve resizing of columns in the API Call tree.
Peter Lohrmann [Tue, 27 Jan 2015 23:27:34 +0000 (15:27 -0800)]
glvdebug: Improve resizing of columns in the API Call tree.

* The API Call column is still giving 55% of the widget.
* The remaining 45% of space is divided equally among the remaining visible columns. This greatly improves visibility if a ProxyModel is being used which adds (or removes) columns.

9 years agoglvdebug_xgl: Initial support for grouping calls by thread Id
Peter Lohrmann [Tue, 27 Jan 2015 22:47:17 +0000 (14:47 -0800)]
glvdebug_xgl: Initial support for grouping calls by thread Id

* Creates a parent node each time the thread id between consecutive calls changes.
* Adds an additional column for each Thread Id to make it easier to see where API calls are being executed.

9 years agoglvdebug: Improve replay highlighting of api calls on stop / finish.
Peter Lohrmann [Tue, 27 Jan 2015 20:45:06 +0000 (12:45 -0800)]
glvdebug: Improve replay highlighting of api calls on stop / finish.

* Fix a bug where the 'play to here' context menu option was not working correctly if a proxy model was used on the treeView.
* Reset the 'play to here' indicator after the api call is reached, otherwise subsequent 'play' would continue to pause on the 'play to here' call.
* Previously there was a sense of incompletion when the replay finished because the tree view would not update to reflect the new location. The treeView now highlights the final API call when the replay is finished.
* Previously when the replay was stopped, the treeView was not updated to a new location. Since stopping the replay also resets it back to the beginning of the trace, the first API call is now selected.
* Pausing continues to select the API call that was paused on.

9 years agoglave: Update supported features in TODO list
Peter Lohrmann [Tue, 27 Jan 2015 01:22:36 +0000 (17:22 -0800)]
glave: Update supported features in TODO list

* Now able to group API calls based on frame boundary

9 years agoglvdebug_xgl: Pausing the replay now correctly selects and scrolls to the API Call...
Peter Lohrmann [Tue, 27 Jan 2015 01:09:27 +0000 (17:09 -0800)]
glvdebug_xgl: Pausing the replay now correctly selects and scrolls to the API Call when the GroupFramesProxyModel is being used.

* Override the match(..) method so that it remaps from source matches to proxy indexes.
* There might be a problem with the index(..) and parent(..) implementations because I have to force the column of the match's index and parent to be 0.

9 years agoglvdebug_xgl: qgroupframesproxymodel now supports displaying additional columns.
Peter Lohrmann [Mon, 26 Jan 2015 20:48:26 +0000 (12:48 -0800)]
glvdebug_xgl: qgroupframesproxymodel now supports displaying additional columns.

* Now that the table has an 'Index' column, pausing the replay will highlight the correct row. HOWEVER, the treeview is not scrolling to the line as expected.
* Currently rows are not hidden when a proxy model is being used.

9 years agoglvdebug_xgl: Initial support for grouping API calls into frames.
Peter Lohrmann [Fri, 23 Jan 2015 18:18:11 +0000 (10:18 -0800)]
glvdebug_xgl: Initial support for grouping API calls into frames.

* This uses an QAbstractProxyModel to modify the way that the QTreeView sees the TraceFileModel.
* A setting 'GroupByFrame' has been added to glvdebug_xgl to enable / disable this view. It defaults to FALSE (disabled).

* Caveats:
** Only the API Call & parameters column is available in this new view (I'll need to extend it to support more columns)
** When this view is enabled and the replay is paused, the TreeView doesn't update to highlight the row (I will be working on this next!)

9 years agoglave: Update supported features in TODO list
Peter Lohrmann [Mon, 19 Jan 2015 20:52:45 +0000 (12:52 -0800)]
glave: Update supported features in TODO list

* "Run to here" context menu option in API Call Tree to control where Replayer pauses

9 years agoglvdebug: Add support for API Call tree context menu and 'Play to here' option.
Peter Lohrmann [Sat, 17 Jan 2015 01:22:38 +0000 (17:22 -0800)]
glvdebug: Add support for API Call tree context menu and 'Play to here' option.

* QActions can be added to the API Call Tree so that debuggers / controllers can add items to the context menu.
* Context menu is not currently 'dynamic' in that it is not context-specific to the call tree item that was selected.
* New 'Play to here' option will start the replay from the beginning if the selected location is behind the current replay index, or will continue the replay if the selected location is greater than the current replay index.

9 years agoglvdebug: Clean up Settings Dialog.
Peter Lohrmann [Sat, 17 Jan 2015 00:58:14 +0000 (16:58 -0800)]
glvdebug: Clean up Settings Dialog.

* Name column is sized to content.
* Value column is stretched to fill width of dialog.
* Dialog minimum width is set to fit the number of tabs+1.
* Removed commented out code from previous version of dialog.

9 years agoglvdebug: Disable various parts of UI while replay is in progress.
Peter Lohrmann [Fri, 16 Jan 2015 20:43:16 +0000 (12:43 -0800)]
glvdebug: Disable various parts of UI while replay is in progress.

* API Call tree, navigation buttons, and Generate Trace button are disabled when replaying.
* Cleaned up code that controls the main UI so that it is in a base class that all replayers should be inheriting. This will provide a more consistent behaviour among debugger plugins.
* Cleaned up the code surrounding start / step / pause / continue / stop replayer and the signals that get emit'ed.

9 years agoglave: Update TODO.md
Peter Lohrmann [Thu, 15 Jan 2015 22:31:30 +0000 (14:31 -0800)]
glave: Update TODO.md

* Single Step Replay is added to the list of supported features
* Also update to reflect support for auto-pause and settings dialog.
Conflicts:
tools/glave/TODO.md

9 years agoglvdebug: Add 'Step' functionality to ReplayWidget
Peter Lohrmann [Wed, 14 Jan 2015 01:20:21 +0000 (17:20 -0800)]
glvdebug: Add 'Step' functionality to ReplayWidget

* Stepping is enabled initially so that the user can step through the initial API Calls.
* Stepping is disabled while the trace is playing, and re-enabled if the replay is paused or stopped.
* Stepping is implement by setting the pause flag and then continuing the replay, so that it will pause after replaying a single packet.
* As a result of this new feature, Stopping the replay now specifically resets the replay back to packet 0, so that stepping will restart at the beginning of the trace file.

9 years agoglave: Add xgl settings that control the MemTracker and DrawState layers
Jon Ashburn [Wed, 14 Jan 2015 00:24:49 +0000 (17:24 -0700)]
glave: Add xgl settings that control the MemTracker and DrawState layers

Conflicts:
glave-generate.py
tools/glave/src/glv_extensions/glvreplay_xgl/glvreplay_xgl_settings.cpp
tools/glave/src/glv_extensions/glvreplay_xgl/glvreplay_xgl_settings.h

9 years agolayers: Add ability to override layer settings from file with a call
Jon Ashburn [Wed, 14 Jan 2015 00:24:01 +0000 (17:24 -0700)]
layers: Add ability to override layer settings from file with a call

Add setLayerOption function call.

9 years agolayers: Make layer utilities a shared library for one instance per all layers
Jon Ashburn [Tue, 13 Jan 2015 22:22:19 +0000 (15:22 -0700)]
layers: Make layer utilities a shared library for one instance per all layers

The global singleton contain map of layer settings had multiple instances. Fix
this by making it a shared library layer_utils.

Conflicts:
layers/CMakeLists.txt

9 years agoglvdebug_xgl: Add placeholder comments for where new state widgets should be added...
Peter Lohrmann [Wed, 14 Jan 2015 00:16:01 +0000 (16:16 -0800)]
glvdebug_xgl: Add placeholder comments for where new state widgets should be added and updated.

* This will help guide other people to adding the first state widgets to the XGL debugger.

9 years agoglvdebug: fix minor regression - give tree view focus after the packet index is selected.
Peter Lohrmann [Wed, 14 Jan 2015 00:09:51 +0000 (16:09 -0800)]
glvdebug: fix minor regression - give tree view focus after the packet index is selected.

9 years agoglvdebug: Misc clean up.
Peter Lohrmann [Tue, 13 Jan 2015 23:16:01 +0000 (15:16 -0800)]
glvdebug: Misc clean up.

* Change the way the item is selected from the tree view to a use a pre-existing method.
* Change the way the wait cursor is displayed when opening a trace file.

9 years agoglvdebug: Improve scrolling speed by giving trace file model a reasonable size hint.
Peter Lohrmann [Tue, 13 Jan 2015 23:13:33 +0000 (15:13 -0800)]
glvdebug: Improve scrolling speed by giving trace file model a reasonable size hint.

* Without this hint, the code gets the contents of each cell and calculates a size based on the style, which is overly complicated and slow for what we're doing.

9 years agoglvdebug: Simplify the call to update settings after the values have been changed.
Peter Lohrmann [Tue, 13 Jan 2015 20:57:39 +0000 (12:57 -0800)]
glvdebug: Simplify the call to update settings after the values have been changed.

9 years agoglvdebug: Store fields from Generate Trace dialog in the settings.
Peter Lohrmann [Tue, 13 Jan 2015 20:56:10 +0000 (12:56 -0800)]
glvdebug: Store fields from Generate Trace dialog in the settings.

* This allows them to be restored even if the user has closed & reopened glvdebug.

9 years agoWin/Linux: Eliminate gcc compiler warning for "xglinfo.c"
Ian Elliott [Thu, 12 Feb 2015 00:36:23 +0000 (17:36 -0700)]
Win/Linux: Eliminate gcc compiler warning for "xglinfo.c"

9 years agolayers: Fixes for Windows build
Tobin Ehlis [Wed, 11 Feb 2015 21:24:02 +0000 (14:24 -0700)]
layers: Fixes for Windows build

9 years agotests demos: Fix pDataSize to be either unitinitalized or initialized.
Jon Ashburn [Wed, 11 Feb 2015 16:36:41 +0000 (09:36 -0700)]
tests demos: Fix pDataSize to be either unitinitalized or initialized.

Better tests tracing in uninit case and was a bug in the case where init was
added.

9 years agoglave: Fix entrypoints with pDataSize and pData to handle non-input param
Jon Ashburn [Wed, 11 Feb 2015 16:32:29 +0000 (09:32 -0700)]
glave: Fix entrypoints with pDataSize and pData to handle non-input param

Properly handle tracing case of pDataSize == don't care as input when
pData == NULL.
Also fix bug on replay about not warning in cases where pData == NULL and
*pDataSize is a mismatch.

9 years agoglave: remap sampler object in xglCreateDescriptorSetLayout()
Jon Ashburn [Tue, 10 Feb 2015 21:32:23 +0000 (14:32 -0700)]
glave: remap sampler object in xglCreateDescriptorSetLayout()

9 years agoglave: Actually add the memory barrier list of structures to trace file
Jon Ashburn [Tue, 10 Feb 2015 20:49:30 +0000 (13:49 -0700)]
glave: Actually add the memory barrier list of structures to trace file

Was just adding a pointer to these structures.

9 years agoglave: Remap buf/image obj for MEMORY_BARRIER for cmdWaitEvents,cmdPipeBarrier
Jon Ashburn [Tue, 10 Feb 2015 17:36:22 +0000 (10:36 -0700)]
glave: Remap buf/image obj for MEMORY_BARRIER for cmdWaitEvents,cmdPipeBarrier

9 years agoglave: Fix interpretation of allocMemory and beginCommandBuffer trace packets
Jon Ashburn [Mon, 9 Feb 2015 19:56:10 +0000 (12:56 -0700)]
glave: Fix interpretation of allocMemory and beginCommandBuffer trace packets

9 years agoglave: Qualify adding to trace packet descriptor set layout structs
Jon Ashburn [Mon, 9 Feb 2015 16:43:26 +0000 (09:43 -0700)]
glave: Qualify adding to trace packet descriptor set layout structs

9 years agoloader: Update README.md to instancing API and C++ ICDs
Jon Ashburn [Wed, 11 Feb 2015 19:40:00 +0000 (12:40 -0700)]
loader: Update README.md to instancing  API and C++ ICDs

9 years agocompiler: temporarily disable fine-grained dependence analysis
GregF [Tue, 10 Feb 2015 21:13:29 +0000 (14:13 -0700)]
compiler: temporarily disable fine-grained dependence analysis

This fixes a problem seen in dota2 shadows.

9 years agolayers: Initial Descriptor Set output in DrawState Dot file
Tobin Ehlis [Wed, 11 Feb 2015 20:13:18 +0000 (13:13 -0700)]
layers: Initial Descriptor Set output in DrawState Dot file

Also includes various code clean-up in DrawState layer to remove non-functional code.

9 years agolayers: Restore DrawState to general level of functionality
Tobin Ehlis [Tue, 10 Feb 2015 22:35:23 +0000 (15:35 -0700)]
layers: Restore DrawState to general level of functionality

DrawState updated to track new resource binding model. Currently flagging some errors and printing out Region/Set/Layout/Update info for descriptors. Still lots of work to do. Next step is getting descriptors in dot file working again.

9 years agoWin: Eliminate VS2013 compiler warnings in "xglinfo.c"
Ian Elliott [Wed, 4 Feb 2015 23:48:37 +0000 (16:48 -0700)]
Win: Eliminate VS2013 compiler warnings in "xglinfo.c"

9 years agoWin: Build both STATIC (.lib) and SHARED (.dll) loader libraries.
Ian Elliott [Mon, 9 Feb 2015 20:21:11 +0000 (13:21 -0700)]
Win: Build both STATIC (.lib) and SHARED (.dll) loader libraries.

9 years agoglave: Fix for not correctly parsing down tree of structs in AllocMemory
Tobin Ehlis [Fri, 6 Feb 2015 19:21:42 +0000 (12:21 -0700)]
glave: Fix for not correctly parsing down tree of structs in AllocMemory

9 years agoglave: Add custom code for embedded ptrs in CmdWaitEvents and CmdPipelineBarrier...
Tobin Ehlis [Thu, 5 Feb 2015 18:29:45 +0000 (11:29 -0700)]
glave: Add custom code for embedded ptrs in CmdWaitEvents and CmdPipelineBarrier calls

9 years agolayers: Validate mem ref counts in queueSubmit call
Mark Lobodzinski [Mon, 9 Feb 2015 16:20:53 +0000 (10:20 -0600)]
layers:  Validate mem ref counts in queueSubmit call

    Grab and save max from GetGpuInfo, use this to validate count in
    QueueSubmit call, warn if GetGpuInfo wasn't called beforehand.

9 years agolayers: Handle null fence objects in validation
Mark Lobodzinski [Mon, 9 Feb 2015 16:16:20 +0000 (10:16 -0600)]
layers:  Handle null fence objects in validation

QueueSubmit can be called with a NULL fence object, updated validation
to correctly handle this case.

9 years agoMerge pull request #2 from FslNopper/master
Norbert Nopper [Sun, 8 Feb 2015 07:51:58 +0000 (08:51 +0100)]
Merge pull request #2 from FslNopper/master

Merge pull request #2 from KhronosGroup/master

9 years agoMerge pull request #2 from KhronosGroup/master
Norbert Nopper [Sat, 7 Feb 2015 08:44:14 +0000 (09:44 +0100)]
Merge pull request #2 from KhronosGroup/master

Update to head fork.

9 years agoWin: Allow the demos "tri" and "xglinfo" to build on Windows.
Ian Elliott [Sat, 7 Feb 2015 01:10:35 +0000 (18:10 -0700)]
Win: Allow the demos "tri" and "xglinfo" to build on Windows.

These had the WSI hacked out of them, since there isn't yet a standard API
in this space, and what was originally done is only for X11.

9 years agoRestore xgl.h comments and original whitespace
Piers Daniell [Fri, 6 Feb 2015 23:41:39 +0000 (16:41 -0700)]
Restore xgl.h comments and original whitespace

This keeps the real 47.1 changes in tact.

9 years agoGet xglPlatform.h working with old MSVC
Gingertoes [Fri, 6 Feb 2015 22:22:44 +0000 (15:22 -0700)]
Get xglPlatform.h working with old MSVC

This was added to revision SVN 29370 for Khronos bug 13274.

9 years agoMerge branch 'FslNopper-master'
Courtney Goeltzenleuchter [Sat, 7 Feb 2015 00:19:19 +0000 (17:19 -0700)]
Merge branch 'FslNopper-master'

9 years agoFix unitialized value in xglCreateInstance().
Ian Elliott [Thu, 5 Feb 2015 22:19:15 +0000 (15:19 -0700)]
Fix unitialized value in xglCreateInstance().

This causes a problem when no ICD is found.  The function's "res" variable is
returned despite never being intialized.  For now, I chose to return
XGL_ERROR_INCOMPATIBLE_DRIVER.

9 years agoChanged note, that everything can be done in the console.
Norbert Nopper [Fri, 6 Feb 2015 20:06:58 +0000 (21:06 +0100)]
Changed note, that everything can be done in the console.

9 years agoImproved note layout.
Norbert Nopper [Fri, 6 Feb 2015 19:57:52 +0000 (20:57 +0100)]
Improved note layout.

9 years agoAdded note on how to reinstall working driver.
Norbert Nopper [Fri, 6 Feb 2015 19:56:32 +0000 (20:56 +0100)]
Added note on how to reinstall working driver.

9 years agoMerge pull request #1 from KhronosGroup/master
Norbert Nopper [Fri, 6 Feb 2015 19:53:06 +0000 (20:53 +0100)]
Merge pull request #1 from KhronosGroup/master

Update from head fork.

9 years agomisc:Fixes to get better behavior in release builds
Tony Barbour [Thu, 5 Feb 2015 21:14:33 +0000 (14:14 -0700)]
misc:Fixes to get better behavior in release builds

Add -fno-strict-aliasing -fno-builtin-memcmp - Both of these are
used by the Mesa driver, and without the first one, we hang? in
link_shaders on release builds

Move cube's LoadTexture out of an assert so it isn't skipped in
release builds

9 years agomisc: Add warning about recent Ubuntu 14.10 issue
Courtney Goeltzenleuchter [Fri, 6 Feb 2015 00:02:39 +0000 (17:02 -0700)]
misc: Add warning about recent Ubuntu 14.10 issue

9 years agoglave: fix replay of AllocMemory packets with info chained structures
Jon Ashburn [Thu, 5 Feb 2015 23:48:13 +0000 (16:48 -0700)]
glave: fix replay of AllocMemory packets with info chained structures

9 years agointel: Be sure to set width & height for depth-only
Courtney Goeltzenleuchter [Thu, 5 Feb 2015 23:35:53 +0000 (16:35 -0700)]
intel: Be sure to set width & height for depth-only

If CmdBindAttachments is called with a depth only attachment
(i.e. for shadow rendering) the width and height were left at
zero and nothing is drawn.

9 years agoBIL: Update BIL version
Courtney Goeltzenleuchter [Thu, 5 Feb 2015 22:35:26 +0000 (15:35 -0700)]
BIL: Update BIL version

9 years agoglave:Fix off by one error in image generation
Tony Barbour [Thu, 5 Feb 2015 20:55:03 +0000 (13:55 -0700)]
glave:Fix off by one error in image generation

9 years agomisc:Fix compiler warning at default Opt level
Tony Barbour [Thu, 5 Feb 2015 18:09:34 +0000 (11:09 -0700)]
misc:Fix compiler warning at default Opt level

9 years agoglave: Fix debugger to export g_pReplaySettings for xglreplayer library
Jon Ashburn [Thu, 5 Feb 2015 20:42:38 +0000 (13:42 -0700)]
glave: Fix debugger to export g_pReplaySettings for xglreplayer library

9 years agoAdd build instructions for Windows.
Ian Elliott [Thu, 5 Feb 2015 19:22:51 +0000 (12:22 -0700)]
Add build instructions for Windows.

9 years agoBIL: Update revision number for BIL
Courtney Goeltzenleuchter [Thu, 5 Feb 2015 19:13:26 +0000 (12:13 -0700)]
BIL: Update revision number for BIL

9 years agotools:Incorperate review feedback on glave screenshots
Tony Barbour [Thu, 5 Feb 2015 16:46:17 +0000 (09:46 -0700)]
tools:Incorperate review feedback on glave screenshots

Move variables into display struct
Make width and height vectors
Change names from snapshot to screenshot
Fix bug when no screenshot frames specified

9 years agoglave:add code to snapshot frames
Tony Barbour [Mon, 2 Feb 2015 20:21:18 +0000 (13:21 -0700)]
glave:add code to snapshot frames

9 years agolayers: Update README.md with current layer status
Tobin Ehlis [Thu, 5 Feb 2015 18:51:35 +0000 (11:51 -0700)]
layers: Update README.md with current layer status

9 years agoglave: Update README for status and also rearrange the sections a little
Jon Ashburn [Thu, 5 Feb 2015 18:47:23 +0000 (11:47 -0700)]
glave: Update README for status and also rearrange the sections a little

9 years agoWin: Eliminate VS2013 miscellaneous additional compiler warnings.
Ian Elliott [Wed, 4 Feb 2015 22:19:32 +0000 (15:19 -0700)]
Win: Eliminate VS2013 miscellaneous additional compiler warnings.

9 years agoWin: Eliminate VS2013 compiler warnings in Glave source.
Ian Elliott [Wed, 4 Feb 2015 22:05:38 +0000 (15:05 -0700)]
Win: Eliminate VS2013 compiler warnings in Glave source.

9 years agoWin: Eliminate VS2013 compiler warnings in auto-gen'd layer code.
Ian Elliott [Wed, 4 Feb 2015 19:15:12 +0000 (12:15 -0700)]
Win: Eliminate VS2013 compiler warnings in auto-gen'd layer code.

9 years agoWin: Eliminate VS2013 compiler warnings for "loader.c" ...
Ian Elliott [Wed, 4 Feb 2015 19:06:46 +0000 (12:06 -0700)]
Win: Eliminate VS2013 compiler warnings for "loader.c" ...

As part of this, eliminated some similar warnings within/across usage of
"loader_platform.h".  One of these is #define'ing _CRT_SECURE_NO_WARNINGS, so
that VisualStudio won't issue warnings with our use of _snprint() (which they
don't consider secure enough; but their desired function doesn't match the
signature of snprintf()).

9 years agoWin: Move some macros to "loader_platform.h"
Ian Elliott [Wed, 4 Feb 2015 18:22:39 +0000 (11:22 -0700)]
Win: Move some macros to "loader_platform.h"