Commit Graph

5473 Commits

Author SHA1 Message Date
baldurk f8bf45fa47 Fix sizing for matrix elements in buffer views 2017-05-10 17:20:39 +01:00
baldurk 7c7cd32c17 Populate the buffer format specifier with the initial format 2017-05-10 17:20:38 +01:00
baldurk 1ca55a8237 Add an optional 'rgb' specifier to colour buffer cells backgrounds
* When opening a texture as a buffer we can make use of this.
2017-05-10 17:20:37 +01:00
baldurk 6941444796 Add byte range offset/length controls to raw buffer viewer. Refs #224 2017-05-10 17:20:37 +01:00
baldurk c3e521f254 Set the tag for samplers on GL so the resource can be opened 2017-05-10 17:20:36 +01:00
baldurk 5b384f3c4a Don't hide RWs on GL if there are no subroutines 2017-05-10 17:20:35 +01:00
baldurk 007e0f7b40 Disable optimisation for QTDebug target in qrenderdoc too 2017-05-10 17:20:35 +01:00
baldurk 50a02d713d Only apply ctrl-left/right shortcut when it doesn't conflict. Refs #542
* We only apply it for non-textbox controls since there ctrl-left and
  ctrl-right move through words.
* Also only apply it while a capture is open.
2017-05-10 17:20:34 +01:00
baldurk 886d6f608b Fix case that samplers are now "IsSRV" (renamed to IsReadOnly elsewhere) 2017-05-10 17:20:33 +01:00
baldurk 657def5fb2 Refactor out-of-bounds check to handle negative (~0U in uint) idxs 2017-05-10 10:24:58 +01:00
baldurk 4fb8b22b2d QBrush() is not a 'use default' return value from a model, QVariant() is 2017-05-09 18:49:44 +01:00
baldurk 6c2f2c0401 Rename "Capture Executable" to "Launch Application" & add to window menu 2017-05-09 17:28:38 +01:00
baldurk 8f70762ed6 Add a release target for linux clang builds 2017-05-09 16:37:06 +01:00
baldurk c18b9147aa Tidy up travis scripts to only set the active build type variables 2017-05-09 16:35:22 +01:00
baldurk dd3f3aa91b When setting command buffer names in vulkan, propagate to baked cmds
* We don't create any objects with the ID that the original name was
  applied to, we create a buffer for each baked version of that handle.
* So on replay we need to apply the name down from the original object,
  and this also means temporarily storing the name in the original ID
  instead of as a live ID (since there is no live ID for the original
  command buffer object).
2017-05-09 15:26:31 +01:00
baldurk 89246077fa Ignore Workgroup globals for the purposes of shader reflection 2017-05-09 15:26:31 +01:00
baldurk c18e846c69 Fix a broken UTF-8 string on Qt MSVC builds 2017-05-09 15:26:31 +01:00
baldurk b8d7726822 Make SPIR-V disassembly more robust over empty structs or cbuffers 2017-05-09 15:26:31 +01:00
baldurk 8c68bc4ae8 Add new alias for param check layer 2017-05-09 15:26:30 +01:00
Michael Rennie 385f54d523 GL_UNSIGNED_BYTE mapped to CompType::UNorm in MakeResourceFormat.
For the opposite in MakeGLFormat, we already return GL_RGBA8 from UNorm.
Encountered with fmt of GL_BGRA8_EXT.
2017-05-09 07:26:04 -07:00
Michael Rennie f19e67bb59 Thumbnail generation fix on GLES by glReadPixels(RGBA) instead of RGB. 2017-05-09 07:26:04 -07:00
Peter Gal 5fd460ecba Add BGRA8_EXT support for the emulated glGetInternalFormat 2017-05-05 11:33:11 -07:00
baldurk c854294dc8 Add calls to XInitThreads() to allow driver multithreading optimisations 2017-05-05 16:45:29 +01:00
baldurk 023cb57c66 Work around nvidia driver bug with EXT_dsa access to VAO leaking state 2017-05-05 09:00:53 +01:00
baldurk bbff0fce1c Implement row colouring and tree colouring in event browser.
* Also do custom painting of branches to do proper full-row colouring
  instead of leaving an ugly gap around the tree controls.
2017-05-04 20:36:46 +01:00
baldurk ab432f24fc Implement the UI option for preferring monospaced font 2017-05-04 20:36:46 +01:00
baldurk 0b868e45c0 Explicitly set a fixed-width font for scintilla editors 2017-05-04 20:36:46 +01:00
baldurk c4740054ca Fix restoring VAO state with double-formatted attribs 2017-05-04 20:36:46 +01:00
baldurk 37379043a1 Copy adb.exe and dlls into distribution if it exists under $ANDROID_SDK 2017-05-04 20:36:45 +01:00
baldurk 02044c141d Push and pop the pixel unpack state when uploading overlay font texture 2017-05-04 20:36:45 +01:00
Peter Gal a375d3093a Add missing alias entries for GL_OES_mapbuffer extension
In #598 the alias glMapBufferOES and glUnmapBufferOES macros
were added for the gl_hookset_defs.h but the alias
entries in the gl_hookset.h was missed.

Also expose the glGetBufferPointervOES as part of the
GL_OES_mapbuffer extension.
2017-05-04 07:43:21 -07:00
Peter Gal 2e39757f17 Expose GL_KHR_debug for GL ES backend
Added KHR suffixed aliases for the methods defined in
the GL_KHR_debug extension:
* glDebugMessageControlKHR
* glDebugMessageInsertKHR
* glDebugMessageCallbackKHR
* glGetDebugMessageLogKHR
* glPushDebugGroupKHR
* glPopDebugGroupKHR
* glObjectLabelKHR
* glGetObjectLabelKHR
* glObjectPtrLabelKHR
* glGetObjectPtrLabelKHR
2017-05-04 05:33:51 -07:00
babymustgrowstrong 43d4268263 Various changes/fixes for OpenGLES
bgra8_ext support
glMapBufferOES support
shader compile fix debuguniforms.h
2017-05-03 15:30:43 -07:00
baldurk ba3b76a61a Fix GL's vertex buffer columns to be consistent: Stride | Offset | Divis 2017-05-03 20:00:10 +01:00
baldurk 93cf884ad7 Add ConvertComponent handling for double/uint64 data, albeit downcasted 2017-05-03 20:00:10 +01:00
baldurk 390e3c1bf4 Don't try to relink programs created by glCreateShaderProgramv
* When creating a program with glCreateShaderProgramv it implicitly acts
  as if the shaders are detached and deleted after linking. This means
  it cannot be relinked again.
* However the only time we need to relink a program is when we are
  copying across fragdata and vertex attrib bindings in case they were
  changed from creation - but for the same reason that we can't relink
  a program to apply them, the application can't either - which means
  the data must be unchanged from creation, and so the copy is not
  needed.
2017-05-03 20:00:10 +01:00
baldurk 9876b6e5cb Emulate EXT_dsa functions in-place and catch promoted-to-DSA functions
* Originally when I added the EXT_dsa emuluation, I targeted it
  specifically to only those functions that I call outside of the replay
  loop, for internal analysis purposes. For that reason the emulation
  was only applied to a separate hookset, and only during replay (not
  during capture).
* However this doesn't account for some of the streamlined serialisation
  of functions like glBufferStorage, glBufferData, etc. To simplify
  code paths, I 'promote' all variants of these types of functions to
  the EXT_dsa variant (except ARB_dsa for texture functions which is
  actually different by not requiring the texture target parameter).
* Note: most of these functions were emulated already (except three -
  glNamedBufferStorageEXT, glTextureBufferEXT and
  glTextureBufferRangeEXT) but on replay we didn't use the internal
  hookset, just the normal one, which was not emulated.
* Rather than try to decide when these should use the internal hookset
  and when the regular one, or switch them all over to the internal
  hookset, instead re-evaluate the reason for a separate hookset in the
  first place: Emulating functions separately means the original func
  pointers are returned during capture time, for unsupported extensions.
* However mesa has proven that unsupported extensions don't have to
  return NULL, as it's undefined what they return - they should not be
  called if the extension isn't available. So in actual fact there's
  little harm to be done by emulating in-place and returning some
  different pointers to the application. In the worst case, they get a
  bit of EXT_dsa emulation themselves.
2017-05-03 20:00:10 +01:00
baldurk 576edd6104 Fix handling of indices for PostVS data and draw index offset 2017-05-03 20:00:10 +01:00
baldurk ba59a28eba Fix shader label click handler - lambdas have QObject::sender() == NULL 2017-05-03 20:00:10 +01:00
baldurk a744316838 Rename overlay from 'Clipping' to 'Histogram Clipping' to clarify 2017-05-03 20:00:09 +01:00
baldurk 0e9c8127b0 Default m_TimeUnit to invalid so that UpdateDurationColumn runs 1st time 2017-05-03 20:00:09 +01:00
Michael Rennie 980f3fd004 Fix unaligned read ARM crash in Serialise_glProgramUniformVector/Matrix 2017-05-03 11:44:39 -07:00
baldurk 9b45ed217b Update GL enums from official headers 2017-05-03 09:24:57 +01:00
baldurk eebdf84d4f Add OpenGL ES extension header to fetch enums from.
* There's a minor conflict over GL_ACTIVE_PROGRAM_EXT being defined to
  different values in GLES and GL extension headers. Since in the GL
  extension header it's defined to the value that eventually became
  GL_CURRENT_PROGRAM we remove that define.
2017-05-03 09:24:28 +01:00
baldurk 8b3c06ac67 QStringLiteral compile fix for static qrenderdoc code 2017-05-03 08:53:56 +01:00
baldurk 6bcd293a3f Don't mutate VAO binding when replaying glEnable/DisableVertexAttrib
* These calls need to go through DSA access like all the other VAO
  functions.
2017-05-02 22:58:12 +01:00
baldurk e4a5b80bdd Don't depend swig targets on renderdoc target, just interface headers
* This avoids rebuilding swig every time if some internal cpp in the
  renderdoc target changes, but will still rebuild it if the interface
  headers change.
2017-05-02 22:58:12 +01:00
baldurk 78ea82315c Add a super extra hack on the vendor checks to avoid checking on intel
* It seems like even running the simple check to see if we need our
  workarounds can completely break intel's driver and lead to infinite
  hangs later. So instead we just assume these hacks are always on for
  intel drivers.
2017-05-02 22:58:12 +01:00
baldurk 0ecc6ca877 Enable QT_NO_CAST_FROM_ASCII & QT_NO_CAST_TO_ASCII
* Added a couple of utility macros to help with the conversion. lit() is
  paired with tr() for untranslated text.
* QFormatStr is more explicitly for non-textual formatting strings.
* Both are just #define'd to QStringLiteral()
2017-05-02 22:58:12 +01:00
baldurk 474ba91d8b Make qprocessinfo.cpp compatible with no QString <-> const char* convs 2017-05-02 22:58:11 +01:00