Tobin Ehlis [Wed, 4 Feb 2015 17:53:31 +0000 (10:53 -0700)]
glave: Create interpret function for pUpdateChain of xglUpdateDescriptors()
Jon Ashburn [Wed, 4 Feb 2015 16:32:59 +0000 (09:32 -0700)]
glave: fix CreateDescriptorRegion trace/replay
Jon Ashburn [Wed, 4 Feb 2015 15:50:35 +0000 (08:50 -0700)]
glave: Fix trace/replay of CreateDynamicViewportState
Jon Ashburn [Wed, 4 Feb 2015 00:47:58 +0000 (17:47 -0700)]
glave: Various fixes for UPDATE_SAMPLERS and PIPELINE_CB_STATE structures
Jon Ashburn [Tue, 3 Feb 2015 20:39:05 +0000 (13:39 -0700)]
glave: Fix EnumerateLayers replay to handle if layer libs differ from tracing
Was not handling the case where the layer libraries enumerated at replay time
were greater than those enumerated at trace time.
Mark Lobodzinski [Tue, 3 Feb 2015 22:44:20 +0000 (16:44 -0600)]
xgl: Final edits for rev47+ alignment
Took care of the remaining substantive differences. Still many
formatting/commenting differences. Version set to 47.1 to indicate
some post-47 additions.
Mark Lobodzinski [Tue, 3 Feb 2015 17:52:26 +0000 (11:52 -0600)]
layers: Add validation for mapped mem objects ref'd in cmd buffer
If any mem object is still mapped while referenced in a command
buffer, throw a validation error message.
Tobin Ehlis [Tue, 3 Feb 2015 21:41:26 +0000 (14:41 -0700)]
glave: Glave updated for resource binding model
In glave trace and replay, account for the fact that CreateDescriptorSetLayout and UpdateDescriptors both take chains of structs.
Ian Elliott [Wed, 14 Jan 2015 00:52:38 +0000 (17:52 -0700)]
Can compile "loader" and "layers" on Windows and Linux ...
These directories build and are partially turned-on on Windows, using the "tri"
demo (follow-on commit) and a "NULL driver" that was created out of the
sample/Intel driver. The GetProcAddress() is not yet finding symbols in the
NULL driver.
For now:
- "C:\Windows\System32" is the default XGL driver directory. The getenv()
isn't yet working. I suggest creating your own #define in order to point to
where a driver is.
- In order to recognize a Windows driver, we must look at both its prefix and
suffix (i.e. it is named "XGL_*.dll", e.g. "XGL_i965.dll).
- We autogenerate Windows ".def" files for the layers. Additional info is:
- This is necessary in order for a DLL to export symbols that can be queried
using GetProcAddress(). We can't use the normal Windows approach of
declaring these functions using "__declspec(dllexport)", because these
functions are declared in "xgl.h".
- This involves adding and running the new "xgl-win-def-file-generate.py"
file.
- NOTE: Layers don't have the xglInitAndEnumerateGpus() entrypoint, just the
xglGetProcAddr() entrypoint (and now the xglEnumerateLayers() entrypoint).
Generating them is pretty simple.
NOTE: In order to build on a 64-bit Windows 7/8 system, I did the following:
- Install VisualStudio 2013 Professional
- Install CMake from: http://www.cmake.org/cmake/resources/software.html
- I let it add itself to the system PATH environment variable.
- Install Python 3 from: https://www.python.org/downloads
- I let it add itself to the system PATH environment variable.
- Obtain the Git repository, checkout the "ian-150127-WinBuild" branch.
- Using a Cygwin shell: I did the following:
- "cd" to the top-level directory (i.e. the one that contains the ".git"
directory).
- "mkdir _out64"
- "cd _out64"
- "cmake -G "Visual Studio 12 Win64" .."
- At this point, I used WindowsExplorer to open the "XGL.sln" file. I can
build. CMake causes the build shortcut to be "Ctrl-Shift-B" instead of the
normal "F7". I had to right-click the "ALL_BUILD" project, go to
Properties->Debugging and change the debug Command and Working Directory to
point to "tri.exe" and where the executable are. At this point, I can debug
(using the normal "F5" shortcut).
Jon Ashburn [Tue, 3 Feb 2015 18:24:08 +0000 (11:24 -0700)]
glave: On replay remap buffer handle for CreateBufferView
Mark Lobodzinski [Tue, 3 Feb 2015 16:06:31 +0000 (10:06 -0600)]
layers: Add object tracker validation for dynamic state objects
Add validation for dynamic state objects (viewport, raster, color-
blend and depth-stencil) to the object-tracker layer.
Jon Ashburn [Tue, 3 Feb 2015 16:26:59 +0000 (09:26 -0700)]
loader: Make sure loader instances get updated upon DestroyInstance()
Jon Ashburn [Tue, 3 Feb 2015 16:17:12 +0000 (09:17 -0700)]
glave: Only remove replay handle maps on DestroyInstance
This only works with a single instance at any given time.
Jon Ashburn [Tue, 3 Feb 2015 15:57:28 +0000 (08:57 -0700)]
glave: Fix tracing CreateInstance appInfo and replay DestroyInstance rm map
Jon Ashburn [Tue, 3 Feb 2015 14:33:48 +0000 (07:33 -0700)]
glave: Fix tracing and replay for AllocMemory nested structures
Jon Ashburn [Mon, 2 Feb 2015 16:58:11 +0000 (09:58 -0700)]
render_pass: Add CmdBegin{End}RenderPass()
This is part of rev 47 but was accidentally skipped.
Jon Ashburn [Mon, 2 Feb 2015 19:39:24 +0000 (12:39 -0700)]
glave: Fix trace packets for Instancing related APIs
Also fix EnumerateLayers trace start time.
Mark Lobodzinski [Mon, 2 Feb 2015 17:55:52 +0000 (11:55 -0600)]
xgl: Fix typo in memory barriers APIs
Misspelled a parameter name, fixup for header cplusplus definition.
Tobin Ehlis [Thu, 22 Jan 2015 19:29:31 +0000 (12:29 -0700)]
glave: Added comments noting glave work still to be done for xgl.h updates
Conflicts:
glave-generate.py
Tobin Ehlis [Thu, 22 Jan 2015 17:45:21 +0000 (10:45 -0700)]
layers: Continuing to update DrawState for new binding model
Conflicts:
layers/draw_state.c
layers/draw_state.h
Tobin Ehlis [Tue, 20 Jan 2015 16:48:48 +0000 (09:48 -0700)]
layers: Updated API codegen to handle AllocDescriptorSets
Tobin Ehlis [Tue, 20 Jan 2015 20:50:59 +0000 (13:50 -0700)]
glave: Trace and replay codegen handles AllocDescriptorSets
Conflicts:
glave-generate.py
Tobin Ehlis [Mon, 19 Jan 2015 15:42:29 +0000 (08:42 -0700)]
layers: Updating MemTracker and DrawState interfaces to match API updates
Still need to update functionality internal to the layers.
Conflicts:
layers/draw_state.c
layers/mem_tracker.c
Tobin Ehlis [Fri, 16 Jan 2015 22:13:34 +0000 (15:13 -0700)]
Various code clean-ups for glave and codegen with updated xgl.h
Conflicts:
glave-generate.py
Tobin Ehlis [Fri, 16 Jan 2015 15:56:30 +0000 (08:56 -0700)]
Added Mark's change to track Fence submit
Conflicts:
layers/object_track.h
Tobin Ehlis [Fri, 16 Jan 2015 00:53:54 +0000 (17:53 -0700)]
Glave now compiling although I'm certain it's very broken.
Time to start sifting through the code now to make it as functional as possible for when the driver catches up and we can really test things again.
Conflicts:
glave-generate.py
Tobin Ehlis [Fri, 16 Jan 2015 00:51:52 +0000 (17:51 -0700)]
All of the codegen for layers is now working well enough that the generated layers will compile.
Lots of updates required to DrawState and MemTracker layers so just commenting them out the build initially.
Conflicts:
layers/draw_state.c
layers/multi.cpp
xgl-layer-generate.py
xgl.py
Jon Ashburn [Thu, 29 Jan 2015 23:54:38 +0000 (16:54 -0700)]
instance: Remove xglInitAndEnumerateGpus
Jon Ashburn [Thu, 29 Jan 2015 23:44:24 +0000 (16:44 -0700)]
loader: Add loops for multiple instances on global debug calls
Jon Ashburn [Thu, 29 Jan 2015 22:48:00 +0000 (15:48 -0700)]
tests: Convert to using Instancing APIs rather than xglInitAndEnumerateGpus
Jon Ashburn [Thu, 29 Jan 2015 22:47:01 +0000 (15:47 -0700)]
demos: Convert to using Instancing API rather than xglInitAndEnumerateGpus()
Jon Ashburn [Thu, 29 Jan 2015 22:45:51 +0000 (15:45 -0700)]
loader: Finish implement CreateInstance and DestroyInstance
Jon Ashburn [Thu, 29 Jan 2015 02:57:09 +0000 (19:57 -0700)]
loader: Implement EnumerateGpus()
Jon Ashburn [Thu, 29 Jan 2015 02:15:45 +0000 (19:15 -0700)]
intel: Implement EnumerateGpus()
Jon Ashburn [Thu, 29 Jan 2015 01:26:16 +0000 (18:26 -0700)]
intel: Instance functions create and destroy objects
Also they do the same init and removal as existing InitAndEnumerateGpus.
Jon Ashburn [Wed, 28 Jan 2015 18:01:35 +0000 (11:01 -0700)]
loader: Place icds into the instance, scan icds prior to instance create
Jon Ashburn [Mon, 26 Jan 2015 21:51:40 +0000 (14:51 -0700)]
instance: Added initial {Create|Destroy}Instance() and xglEnumerateGpus().
For now, retain the existing InitAndEnumerateGpus and have it create one
instance. New APIs aren't fully implemented yet in driver or loader.
Mark Lobodzinski [Thu, 29 Jan 2015 20:24:14 +0000 (14:24 -0600)]
xgl: Fix pMemBarriers references
Arrays of MemBarrier pointers were incorrectly declared. Reference
bug #13273, for xgl header rev #42.
Mark Lobodzinski [Thu, 29 Jan 2015 14:55:56 +0000 (08:55 -0600)]
xgl: Remove XGL_* typedef wrappers
Part of moving to xgl.h rev#38, svn rev 29293-29302
Mark Lobodzinski [Thu, 29 Jan 2015 16:04:52 +0000 (10:04 -0600)]
xgl: Updated headers for some missed SVN revisions
Miscellaneous updates for SVN revs 29191, 29205 and 29241. Basically
adding MAX_ENUM, copyright notices, and improved type definitions.
Jon Ashburn [Wed, 28 Jan 2015 22:05:09 +0000 (15:05 -0700)]
intel: Fix DBG_OBJECT_TYPE range
Mark Lobodzinski [Wed, 28 Jan 2015 19:29:48 +0000 (13:29 -0600)]
xgl: Add fast clear APIs
Added new APIs for optimized clears of color and depth buffers.
Bug# 13172, due to a bug in rev39, this also accounts for the change
in rev41.
Courtney Goeltzenleuchter [Tue, 27 Jan 2015 18:07:21 +0000 (11:07 -0700)]
xgl: Remove extraneous structSizes
Alpha header rev: r29437
Bug #13299
Courtney Goeltzenleuchter [Tue, 27 Jan 2015 17:54:01 +0000 (10:54 -0700)]
xgl: header updates for XGL_RESULT
alpha header version: r29593
XGL_RESULT is the XGL return codes.
Agreement part of F2F Jan 26, 2015.
Chia-I Wu [Wed, 28 Jan 2015 06:00:47 +0000 (14:00 +0800)]
xgl: fix constness of pointers
Mark Lobodzinski [Tue, 27 Jan 2015 19:24:03 +0000 (13:24 -0600)]
xgl: Add framebuffer-no-attachment support
Add default values if no attachments are present, correctly handle
override values when attachments are present. Bug# 13212, header
revision #36.
Jeremy Hayes [Fri, 23 Jan 2015 15:51:43 +0000 (08:51 -0700)]
Update XGL_FORMAT.
Mark Lobodzinski [Mon, 26 Jan 2015 23:06:34 +0000 (17:06 -0600)]
xgl: Add begin/end_range to all enums
Cosmetic change to xgl header for rev# 37, bug# 13244.
Mark Lobodzinski [Mon, 26 Jan 2015 23:02:32 +0000 (17:02 -0600)]
xgl: Rename XGL_WAIT_EVENT enum in header
For svn rev# 29226, generalized an XGL_WAIT_EVENT enum.
Courtney Goeltzenleuchter [Mon, 26 Jan 2015 22:09:47 +0000 (15:09 -0700)]
xgl: Bump rev for Command Atomic update
Bug #: 12997
Alpha header revision: r29249
Courtney Goeltzenleuchter [Wed, 21 Jan 2015 16:59:59 +0000 (09:59 -0700)]
xgl: Remove xglCmdAtomics
Implement changes for alpha header version 0.35.
Bug #12998.
Mark Lobodzinski [Mon, 26 Jan 2015 16:34:00 +0000 (10:34 -0600)]
xgl: Rename semaphore enums
Cosmetic xgl header change for xgl.h revision #40.
Jon Ashburn [Thu, 22 Jan 2015 18:40:11 +0000 (11:40 -0700)]
tests: Fix testbinding alloc_mem method
Set memProps for BUFFER allocations. Keep track of primary_mem if have
multiple allocations based on which allocation req has a BUFFER or IMAGE type.
Jon Ashburn [Thu, 22 Jan 2015 17:52:13 +0000 (10:52 -0700)]
intel: Set the memType in mem_requirements for all objects
Conflicts:
icd/intel/event.c
icd/intel/img.c
Jon Ashburn [Wed, 21 Jan 2015 00:22:07 +0000 (17:22 -0700)]
intel: Fix CreateImage format_class for linear tiled images.
Jon Ashburn [Tue, 20 Jan 2015 23:59:42 +0000 (16:59 -0700)]
memory alloc: Remove last heaps from memory alloc and requirements
Also reorder memory_alloc_info struct as memPriority added back in as last
member in struct.
Conflicts:
demos/cube.c
demos/tri.c
icd/intel/buf.c
icd/intel/event.c
icd/intel/img.c
icd/intel/mem.c
icd/intel/pipeline.c
icd/intel/query.c
include/xgl.h
tests/image_tests.cpp
tests/init.cpp
tests/render_tests.cpp
tests/xgltestbinding.cpp
tests/xgltestbinding.h
Jon Ashburn [Tue, 20 Jan 2015 23:38:02 +0000 (16:38 -0700)]
memory alloc: Remove alignment from alloc_info structure
Conflicts:
icd/intel/mem.c
Jon Ashburn [Tue, 20 Jan 2015 22:06:59 +0000 (15:06 -0700)]
memory alloc: Remove MEMORY_ALLOC_FLAGS add MEMORY_TYPE
Jon Ashburn [Tue, 20 Jan 2015 20:55:32 +0000 (13:55 -0700)]
memory alloc: Remove memory_heap flags replace with memory_property flags
Conflicts:
include/xgl.h
tests/image_tests.cpp
tests/init.cpp
tests/xgltestbinding.h
Jon Ashburn [Tue, 20 Jan 2015 15:50:12 +0000 (08:50 -0700)]
memory alloc: For buffer allocations use the buffer_info structure
Add to the tests and demos the buffer usage.
Conflicts:
tests/xgltestbinding.cpp
Jon Ashburn [Mon, 19 Jan 2015 22:00:26 +0000 (15:00 -0700)]
memory alloc: Add IMAGE and BUFFER alloc info structures
For images have the tests fill in the IMAGE_ALLOC structures. For buffers
this is not yet done.
Conflicts:
demos/cube.c
demos/tri.c
include/xgl.h
tests/init.cpp
tests/xgltestbinding.cpp
Jon Ashburn [Fri, 16 Jan 2015 16:37:43 +0000 (09:37 -0700)]
memory alloc: Add MEMORY_ALLOCATION_COUNT support and usage in tests.
Driver always does one allocation but tests support drivers with N allocations.
Conflicts:
demos/cube.c
demos/tri.c
tests/image_tests.cpp
tests/render_tests.cpp
Jon Ashburn [Thu, 15 Jan 2015 17:39:19 +0000 (10:39 -0700)]
memory alloc: Add allocation index to BindObjectMemory
For now it is always index 0. Updates, driver, glave, tests, demos, include,
and layers.
Jon Ashburn [Wed, 14 Jan 2015 17:44:00 +0000 (10:44 -0700)]
memory alloc: Remove xglGetMemoryHeapXXX from driver,loader, glave, layers
Jon Ashburn [Wed, 14 Jan 2015 16:58:23 +0000 (09:58 -0700)]
tests: Remove calls to xglGetMemoryHeapXXX
Conflicts:
tests/xgltestbinding.cpp
Jon Ashburn [Wed, 14 Jan 2015 16:56:21 +0000 (09:56 -0700)]
demos: Remove calls to xglGetMemoryHeapXXX in xglinfo
Chia-I Wu [Sun, 4 Jan 2015 08:27:24 +0000 (16:27 +0800)]
xgl: move to new resource binding model
All except layout(set=) is supported. The change to
pipeline_compiler_interface.{cpp,h} is ugly and fragile. It should be fixed
after adding layout(set=) support.
Chia-I Wu [Fri, 16 Jan 2015 14:31:25 +0000 (22:31 +0800)]
demos, tests: use XGL_BUFFER_VIEW_RAW for constant buffers
Chia-I Wu [Fri, 16 Jan 2015 09:38:37 +0000 (17:38 +0800)]
intel: initialize raw buffer SURFACE_STATEs on view creation
Initialize the SURFACE_STATE for fs once in intel_buf_view_create(). There is
one subtle change: we only use overridden SURFACE_STATEs for raw buffers now.
Chia-I Wu [Sun, 18 Jan 2015 06:51:02 +0000 (14:51 +0800)]
complete fixed-function vertex fetch support
Update xgl.h (cosmetic changes only). Add support for new formats.
v2: fix blit tests and enhance xglinfo for new formats
Chia-I Wu [Sat, 24 Jan 2015 04:49:28 +0000 (12:49 +0800)]
intel: fix DEPTH_STENCIL_STATE on Gen6
pipeline_build_depth_stencil() should be called on all Gens.
Courtney Goeltzenleuchter [Fri, 23 Jan 2015 22:21:37 +0000 (15:21 -0700)]
intel: set stencil masks for front and back faces
Courtney Goeltzenleuchter [Fri, 23 Jan 2015 21:00:52 +0000 (14:00 -0700)]
BIL: Update to support descriptor set GLSL features
Courtney Goeltzenleuchter [Fri, 23 Jan 2015 18:47:02 +0000 (11:47 -0700)]
xgl: Fix syntax error
Mike Stroyan [Mon, 19 Jan 2015 18:37:12 +0000 (11:37 -0700)]
xgl: resource transition integrated, update xgl.h version
Mike Stroyan [Thu, 4 Dec 2014 11:08:39 +0000 (11:08 +0000)]
xgl: Resource transition proposal from Bug 12904.
Added resource transition proposal from Bug 12904.
Updated function prototypes.
Added XGL_IMAGE_CREATE_MUTABLE_FORMAT_BIT based on Intel's request.
Unless this flag is specified, image views created from the image must match the base format.
xgl.py: changes for resource tracking
loader: changes for resource tracking
icd: changes for resource tracking
tests: changes for resource tracking
demos: changes for resource tracking
Courtney Goeltzenleuchter [Wed, 21 Jan 2015 00:54:08 +0000 (17:54 -0700)]
xgl: Dynamic State complete, update header version
Tony Barbour [Fri, 16 Jan 2015 21:27:35 +0000 (14:27 -0700)]
driver:implement changes for Dynamic State
Courtney Goeltzenleuchter [Fri, 23 Jan 2015 21:27:58 +0000 (14:27 -0700)]
intel: Fix undefined references
Tony Barbour [Fri, 23 Jan 2015 18:48:13 +0000 (11:48 -0700)]
Remove unnecessary semicolon
Tony Barbour [Fri, 23 Jan 2015 01:01:18 +0000 (18:01 -0700)]
Intel: Initialize stencil_ref before using
Tony Barbour [Tue, 20 Jan 2015 00:58:15 +0000 (17:58 -0700)]
tests:Fix memory leak
Courtney Goeltzenleuchter [Fri, 16 Jan 2015 00:19:45 +0000 (17:19 -0700)]
xgl: Buffer Object integrated, update xgl.h version
Chia-I Wu [Wed, 31 Dec 2014 23:55:04 +0000 (07:55 +0800)]
update for buffer object changes
Courtney Goeltzenleuchter [Thu, 15 Jan 2015 20:02:34 +0000 (13:02 -0700)]
xgl: Tiler updates complete, Update header version
Jeremy Hayes [Wed, 14 Jan 2015 23:17:08 +0000 (16:17 -0700)]
misc: Fix tiler rebase in driver, tests, include
Jon Ashburn [Sat, 3 Jan 2015 01:28:26 +0000 (18:28 -0700)]
glave: Make tiler GPU changes work for tracing and replaying
The tracing and replay code gen didn't handle all the special cases
for the removal of CmdBindAttachments() and the addition of nested structures
with pointers and objects in the three APIs: CreateFramebuffer,
CreateRenderPass, BeginCommandBuffer. It now does!
Jon Ashburn [Sat, 3 Jan 2015 01:27:14 +0000 (18:27 -0700)]
tests: Remove CmdBindAttachments() for Tiler Gpus
Jon Ashburn [Sat, 3 Jan 2015 01:24:05 +0000 (18:24 -0700)]
demos: Remove CmdBindAttachments() for tiler Gpus
Jon Ashburn [Sat, 3 Jan 2015 01:22:38 +0000 (18:22 -0700)]
layers: Remove CmdBindAttachment() for tiler GPUs
Jon Ashburn [Fri, 9 Jan 2015 01:54:34 +0000 (18:54 -0700)]
intel: Remove CmdBindAttachments for tiler GPUs
Conflicts:
icd/intel/cmd.c
icd/intel/cmd_pipeline.c
Jon Ashburn [Sat, 3 Jan 2015 01:15:22 +0000 (18:15 -0700)]
include: Remove CmdBindAttachments()
Jon Ashburn [Thu, 1 Jan 2015 00:11:49 +0000 (17:11 -0700)]
layers: Update BeginCommandBuffer API for Tiler Gpus
Jon Ashburn [Thu, 1 Jan 2015 00:10:47 +0000 (17:10 -0700)]
tests: Update BeginCommandBuffer Api for Tiler GPUs
Jon Ashburn [Thu, 1 Jan 2015 00:08:35 +0000 (17:08 -0700)]
demos: Change BeginCommandBuffer for Tiler Gpus
Jon Ashburn [Fri, 9 Jan 2015 01:48:10 +0000 (18:48 -0700)]
intel: Add render target attachments at BeginCommandBuffer for TilerGpus
Still allow for binding via CmdBindAttachments as the default if no
RENDER_PASS object is specified at begin time. This allows for easier testing.
Jon Ashburn [Wed, 31 Dec 2014 23:56:13 +0000 (16:56 -0700)]
include: xglBeginCommandBuffer API changed for Tiler Gpus
Bump version patch number also.
Jon Ashburn [Wed, 31 Dec 2014 18:30:53 +0000 (11:30 -0700)]
glave: Add support for new APIs to support Tiler Gpus
Adds support for xglCreateFramebuffer and xglCreateRenderPass
Jon Ashburn [Wed, 24 Dec 2014 19:38:36 +0000 (12:38 -0700)]
intel: Add new APIs for Tiler GPU support
The new APIs create objects but don't do anything yet so they are just a shell.
Jon Ashburn [Wed, 24 Dec 2014 19:09:06 +0000 (12:09 -0700)]
include: Add new API changes including structs/enums for Tiling GPU support
Omit changes for now that alter existing APIs: xglcmdBindAttachments and
xglBeginCommandBuffer
Bump the API version patch number, since we are diverging our version numbers
from the SVN history. This is necessary since we are not implementing header
changes in the same order they were added to SVN header.