Commit Graph

621 Commits

Author SHA1 Message Date
David Pinedo
41552ccf8b nulldrv: Creation of the nulldrv, for use on Windows.
Since the sample Intel driver hasn't been ported to Windows, this nulldrv is
being used to bootstrap Windows support.  It can also provide a hint to new
IHV's for how to set the magic number.
2015-02-18 15:46:17 -07:00
Mark Lobodzinski
3db3f8611e layers: Updated mem_tracker for new header changes.
Brought mem-tracker up to header rev 47. Worked over tests and
demos to remove errors.
2015-02-18 16:38:17 -06:00
Mark Lobodzinski
66011babaf tests: Fix cut-and-paste error in QuadWithIndexedVertexFetch test.
Looks like the wrong memory barrier was set.
2015-02-17 18:29:31 -06:00
Courtney Goeltzenleuchter
abf314f9dd loader: Enable env extensions as well as app. 2015-02-17 16:45:57 -07:00
Tobin Ehlis
4331ebb48a tests: Fix XGLTriangleTest to not bind VBO since it doesn't use one 2015-02-17 16:32:24 -07:00
Chia-I Wu
fd7521faf8 cmake: support clang as the compiler
One can use clang by running cmake like

 $ cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
2015-02-17 13:05:45 -07:00
Jon Ashburn
b571b646c3 layers: Fix compilation error on ObjectTracker and Generic layer 2015-02-17 11:04:35 -07:00
Courtney Goeltzenleuchter
d80dcd68e7 intel: Add colorAttachmentCount
bug #13268
header revision: r29554
Add colorAttachmentCount to CREATE_RENDER_PASS_INFO to aid tracing tools.
2015-02-17 10:28:43 -07:00
Courtney Goeltzenleuchter
6154049334 intel: Remove unnecessary dualBlendMode enable
bug #12925
header version: r29511
Can determine dualBlendModeEnable from blend information provided.
Integrate review feedback.
2015-02-17 10:20:49 -07:00
Courtney Goeltzenleuchter
afa9c4347b intel: Remove scissor enable and scissor count
bug #12925
header version: r29511
Remove separate scissor enable and scissor count. Scissor always
enabled and must always provide scissor rect for every viewport.
2015-02-17 10:20:49 -07:00
Courtney Goeltzenleuchter
13b94514be Add detail on cloning repo 2015-02-17 08:44:05 -07:00
Jon Ashburn
964d841009 layers: Add settings controls for the generated layers. Includes ParamChecker, ObjectTracker and Generic. Adds the controls for ReportingLevel, ReportingAction and log filename for these layers. Place the common callback code in a header these layers can include. 2015-02-17 07:40:15 -07:00
Ian Elliott
a40146fcc6 loader: Change sample code to not include a pointer.
It could imply that the ICD needs to allocate space for it.  The pointer is
really to be owned by the loader.
2015-02-13 16:51:05 -07:00
Ian Elliott
8028754ddc loader: Fix and enhance README.md.
Several adjustments were made, including:

1) Add some MS Windows-related information.  For example, the loader is
   "XGL.dll" on Windows, and "libSGL.so" on Linux.  Also, the separator
   character is given, for each OS, for the PATH environment variables.

2) Add some addition information about dispatching.

3) Add example code for setting the magic value in the ICD.

4) Fix the numbering that looked fine in the "mardown" website, but not on
   GitHub.

5) Try to improve grammar, punctuation, etc.
2015-02-13 16:40:10 -07:00
Ian Elliott
173a1c1636 Eliminate "-Wsign-compare" warnings on Linux ...
With these being newly enabled for the loader, layers, and demos (and it turns
out, for the icd/common directory), it is appropriate to fix them.
2015-02-13 16:33:45 -07:00
Ian Elliott
808a181d72 Enable additional Linux warnings, for loader/layers/demos.
The intention is for Linux developers to catch more problems (real or
annoyance) before porting to Windows.

The new warnings are:

-Wpointer-arith
-Wsign-compare

These are not used for the Intel sample driver (mostly because the Intel
compiler from Mesa3D generates lots of these warnings, which code we don't want
to modify), nor for the tests.

Not sure how this affects Glave on Linux.
2015-02-13 16:33:18 -07:00
Jon Ashburn
9d73baf123 glave: Replay for UpdateDescriptor handle multiple replays
The local chain copy had embedded pointers into the original chain. So
multiple replays/remaps weren't working.  Simplify code to just save a queue
of the actaul objects that need to be remapped  and restore them  after making
the call to xglUpdateDescriptors().
2015-02-13 11:53:50 -07:00
Ian Elliott
790d75ac39 Minor fix/enhancement to BUILD.md.
1) Point CMake to www.cmake.org insead of www.python.org.

2) Give a couple of helpful pointers for ICD developers.
2015-02-13 10:57:55 -07:00
Ian Elliott
4541409e96 Win: Attempt to keep from using Linux functions.
This is a hopefully-temporary solution to prevent some of the problems of
people breaking the Windows build while developing on Linux (or vice-versa).

This uses macros of the names of Linux/Windows-specific functions in order to
catch people who use those functions directly, instead of using the
platform-compatibility-layer functions.

In order to avoid problems with the layers #include'ing "loader_platform.h"
before they #include system files (which can mess them up), I #include
"loader_platform.h" twice.  The 2nd time, it #define's the hopefully-temporary
macros.

Note: For some reason, we can't #define LoadLibrary().  It generates warnings
on Windows.
2015-02-12 17:52:56 -07:00
Ian Elliott
2206f24e72 Linux: Add back the "C99" comment within "loader_platform.h" 2015-02-12 16:44:56 -07:00
Courtney Goeltzenleuchter
7ae8b39153 icd: add loader magic word to verify ICD is compatible
We wanted a more explicit way to determine if the driver
ICD being loaded is providing compatible objects. To do
that we check for a magic dword value at the beginning
of the object. Non-compliant ICDs will assert in the loader
or the loader's dispatch functions if an object does
not have the correct value.
Dispatch checks are debug only.
2015-02-12 16:31:13 -07:00
Ian Elliott
d630a2aa89 Win/icd: Move STATIC_INLINE macro, and use for magic funcs.
The STATIC_INLINE macro is now in "xglPlatform.h".  It is also now being used
by the *_loader_magic_value() functions.  This allows it to be compiled on
Windows.
2015-02-12 16:31:13 -07:00
Jon Ashburn
c129e61c39 glave: Unregister debug callback on DestroyInstance() 2015-02-12 16:13:09 -07:00
Jon Ashburn
b875704bca glave: Handle null pointers in stringify of entrypoint parameters
Also add "*" for those pointers that are dereferenced.
2015-02-12 16:13:09 -07:00
Jens Owen
16179428ba Update BUILD.md
Update to build steps from Mike Sartain
2015-02-12 15:38:13 -07:00
Jon Ashburn
cb47b9ac51 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
2015-02-12 08:08:26 -07:00
Tobin Ehlis
f0c329bb57 layers: Fixes for Windows build 2015-02-11 16:36:56 -07:00
Jon Ashburn
6fed69d238 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.
2015-02-11 15:30:18 -07:00
Jon Ashburn
2f803fa791 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.
2015-02-11 15:30:18 -07:00
Jon Ashburn
c984d49831 glave: remap sampler object in xglCreateDescriptorSetLayout() 2015-02-11 15:30:18 -07:00
Jon Ashburn
907dd5fd98 glave: Actually add the memory barrier list of structures to trace file
Was just adding a pointer to these structures.
2015-02-11 15:30:18 -07:00
Jon Ashburn
1f95caeb93 glave: Remap buf/image obj for MEMORY_BARRIER for cmdWaitEvents,cmdPipeBarrier 2015-02-11 15:30:18 -07:00
Jon Ashburn
4bbf3bee20 glave: Fix interpretation of allocMemory and beginCommandBuffer trace packets 2015-02-11 15:30:18 -07:00
Jon Ashburn
471f22c99a glave: Qualify adding to trace packet descriptor set layout structs 2015-02-11 15:30:18 -07:00
Jon Ashburn
0b494e59a9 loader: Update README.md to instancing API and C++ ICDs 2015-02-11 15:30:18 -07:00
Ian Elliott
e1352bf733 Win: Build both STATIC (.lib) and SHARED (.dll) loader libraries. 2015-02-09 13:24:02 -07:00
Tobin Ehlis
426f40b954 glave: Fix for not correctly parsing down tree of structs in AllocMemory 2015-02-09 13:19:30 -07:00
Tobin Ehlis
ba9cc5b18c glave: Add custom code for embedded ptrs in CmdWaitEvents and CmdPipelineBarrier calls 2015-02-09 13:19:24 -07:00
Mark Lobodzinski
8704f5e682 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.
2015-02-09 12:28:24 -06:00
Mark Lobodzinski
1319848f5a layers: Handle null fence objects in validation
QueueSubmit can be called with a NULL fence object, updated validation
to correctly handle this case.
2015-02-09 12:28:07 -06:00
Norbert Nopper
72bdaba497 Merge pull request #2 from FslNopper/master
Merge pull request #2 from KhronosGroup/master
2015-02-08 08:51:58 +01:00
Norbert Nopper
0afe9ecd95 Merge pull request #2 from KhronosGroup/master
Update to head fork.
2015-02-07 09:44:14 +01:00
Ian Elliott
7c5cf8ecac 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.
2015-02-06 18:13:04 -07:00
Courtney Goeltzenleuchter
4c42ab85a4 Merge branch 'FslNopper-master' 2015-02-06 17:19:19 -07:00
Ian Elliott
33fe5b5d98 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.
2015-02-06 16:43:35 -07:00
Norbert Nopper
4cc72e1acb Changed note, that everything can be done in the console. 2015-02-06 21:06:58 +01:00
Norbert Nopper
fa1910ae3e Improved note layout. 2015-02-06 20:57:52 +01:00
Norbert Nopper
6ec6a0afbe Added note on how to reinstall working driver. 2015-02-06 20:56:32 +01:00
Norbert Nopper
f9bfa95b17 Merge pull request #1 from KhronosGroup/master
Update from head fork.
2015-02-06 20:53:06 +01:00
Tony Barbour
72199501cb 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
2015-02-06 09:52:47 -07:00