Commit Graph

85 Commits

Author SHA1 Message Date
baldurk 9d3202ae5f Don't conflict between C# UI and replay output flipping pixel context 2016-02-07 18:43:46 +01:00
baldurk 4336722e34 Tidy up FetchTexture data for vulkan, fill out all fields properly 2016-02-07 18:43:35 +01:00
baldurk 313f53a820 Remove stored fake backbuffer data, display backbuffer on present calls 2016-02-07 18:43:34 +01:00
baldurk 238efe31f1 List resources for texture viewer to pick up 2016-02-07 18:42:11 +01:00
baldurk 4e113a08c7 Hack out handling of vulkan pipeline type in texture viewer 2016-02-07 18:41:30 +01:00
baldurk 4ed49079d1 Re-enable thumbnails and pixel context, as multiple swap chains work now 2016-02-07 18:41:29 +01:00
baldurk 2b67894bdb Temporarily disable thumbnails and pixel context
* just until multiple swapchains is working
2016-02-07 18:39:03 +01:00
baldurk 665b4743c6 Fix stupid damned scrollbars that don't actually go up to their maximum 2015-11-18 23:36:17 +01:00
baldurk c8a6d0dbb7 If displaying via a custom shader when saving texture, save that output 2015-11-18 22:30:47 +01:00
baldurk 73ad61d38e When saving textures if only one channel is visible, save as greyscale 2015-11-18 22:30:47 +01:00
baldurk 0357a2e35e Make visible histogram range a per-texture stored/loaded setting 2015-11-09 23:42:56 +01:00
baldurk 910e261133 Only display RW thumbnails if the shader actually uses them 2015-10-26 18:31:17 +01:00
baldurk 1ca3685668 Don't autofit if no texture is viewed (e.g. if a buffer is up)
* This fixes a bug from a crash upload
2015-09-11 11:52:02 +02:00
baldurk 24b0f04f17 Remove double loop increment 2015-08-28 22:04:06 +02:00
baldurk 6a2344d9d8 Show correct inputs/outputs for copy and dispatch calls. Refs #147
* Next step is to display VS and other stage inputs on the input panel.
* Also need to tidy up the fetching of highest mip/array slice etc to
  use the same codepath.
2015-08-23 13:20:23 +02:00
baldurk 8213281921 Fix up fetching layer/mip for FBOs on replay 2015-07-18 18:27:34 +02:00
baldurk f05015ba15 Make texture viewer less twitchy by keeping status label length similar 2015-07-16 23:16:39 +02:00
baldurk 2d8132943c Add a right click context menu to pixel history, to launch debug/history 2015-07-15 21:37:59 +02:00
baldurk cd2db46628 Try to anchor top-left pixel on texture viewer when switching 2015-07-15 21:37:58 +02:00
baldurk e0be3e66ec Fix buffer bound inputs showing up as "Unbound"/not rendering thumbnail 2015-07-15 21:37:56 +02:00
baldurk 4a3894a187 Add escape to cancel range min/max change, commit change on focus loss 2015-07-15 21:37:54 +02:00
baldurk b8c340b1fa Allow arrow-key nudging when the pixel context panel is focussed 2015-07-14 22:09:27 +02:00
baldurk 87d748f4fb If we fail to debug a pixel, open the pixel history instead 2015-07-11 00:43:16 +02:00
baldurk de25800794 Don't declare unused exceptions (warning fix) 2015-07-07 19:20:41 +02:00
baldurk f6527107dc Add try {} catch to handle exceptions thrown from IO operations 2015-07-07 19:06:31 +02:00
baldurk 5232ee7626 Don't allow direct writes to RangeMax/RangeMin that can break things
* The old code in m_RangeMax/m_RangeMin setters wasn't doing proper
  epsilon enforcing so min=max could end up happening. It's easier to
  set both at once (this is all we care about anyway) so that it does
  properly make the min and max distinguishable.
2015-07-07 18:30:14 +02:00
baldurk 6afbe8c92b Add exception handling on Clipboard.SetText, fall back to SetDataObject 2015-07-06 18:15:49 +02:00
baldurk 7277d5d76e Support pixel history over a specific mip/array slice only 2015-07-06 17:18:19 +02:00
baldurk 1134988665 Fix shader debugging when rendering to mips of a texture 2015-07-06 15:53:02 +02:00
baldurk 95bda3d588 Tweak slice/mip auto-selection for render targets rendering to mips
* Should mean the 'target' of the render target will be selected by
  default now when clicking to an event, without annoyingly switching
  away from what you were looking at.
2015-07-06 15:49:22 +02:00
baldurk cffad15781 Support 64 UAVs on OM/CS stages - a D3D11.1 feature
* Everything should still work on regular 11.0 and log opening backwards
  compatibility is maintained.
2015-07-06 16:17:58 +02:00
baldurk 1ff7d96b49 If auto-fit is checked (right click), fit on texture selection change 2015-06-30 20:30:30 +02:00
baldurk 7e66c2787c Raise limit on zoom to 25600% so manual zoom can be higher. Refs #137
* Still leaving some upper limit so that typos don't result in a zoom
  level of something crazy.
* This also allows 'fit to texture' to zoom in more, but I'm OK with
  that.
2015-05-09 16:23:37 +02:00
baldurk 7339be3c00 Fix crash if Ctrl-C is pressed while no log is loaded 2015-04-25 13:19:37 +02:00
baldurk 392f9b7f2d Clamp texture view slice to number of slices (sanity checking)
* This should in theory be impossible as you can't create a view that
  points to after the number of slices, and we always make a list of all
  slices, but there was a crash report here so for now we'll just clamp
  so that it doesn't crash completely.
2015-04-21 21:00:51 +02:00
baldurk a5cc19ccc6 Implement replay-side resource tracking for OpenGL
* This means that the timeline bar will show use as read/write/clear etc
  and that right clicking on textures in the texture viewer will show
  the events where that texture is used for rendering, for reading, and
  so on.
2015-04-11 11:03:19 +01:00
baldurk 95f4011bcb Add option to favour monospaced font for all data. Refs #118
* The option will enable monospaced fonts for all data displays, like
  the list of events, API calls, etc as well as pipeline displays, entry
  of filename/directory in the capture window and many other places.
  Pure UI labelling etc mostly still stays as a serif font.
* A few sizes of controls were tweaked (like headers in the pipeline
  windows) so that they didn't just barely overflow with the larger
  font.
* While looking at this, it became obvious that buffer viewers and
  constant bufferviewers should always display in monospaced regardless,
  so that has been changed.
2015-04-09 21:49:03 +01:00
baldurk 6cd1f70bb6 Fix several warnings for compiling on VS2015
* Note at the time of committing there are still some warnings in MS
  headers that you might need to suppress in a couple of files.
* 3rd party code just has the warnings suppressed for ease of merging.
* The majority of warning fixes were for local variables shadowing
  other locals, function parameters, or members. In most cases they
  weren't a problem, but in some cases it was potentially dangerous!
2015-03-13 10:16:19 +00:00
baldurk 8fa5eb74e6 Fix race between texture viewer creating its thumbnails & first use 2015-03-03 12:32:51 +00:00
baldurk a440589969 Fix crash with image viewing on last change, using wrong array length 2015-02-27 14:10:49 +00:00
baldurk cca206a356 Fix array indexing crashes, ditch a lot of messing with UAV start slot
* The UAV array is provided as we expect it - with UAVs from 0 onwards
  even if their 'slots' are 4, 5, 6 etc or whatever. UAVStartSlot is
  the slot of the 0th UAV.
2015-02-27 14:07:58 +00:00
baldurk ac926b86d9 Split up RT/RW handling to be less D3D11-centric in texview thumbnails
* In D3D11 the RTs and UAVs have the same namespace, but GL has separate
  framebuffer attachments and images. This change splits up the concepts
  so the D3D11 case is a special case, in a way, and that we can handle
  any generic mix of the two nicely.
2015-02-21 22:39:36 +00:00
baldurk 53b24791e5 Add handling for RGBA16 backbuffers (with linear contents) 2015-02-14 21:02:16 +00:00
baldurk 80329f6e9b Channels selection and mip/slice selection are now stored per-texture
* For each texture you view, it will reset back to mip 0 and slice 0
  as it previously did, and it will also reset the channels back to
  RGB only, which is new behaviour.
* Then each texture remembers those settings, so if you choose to view
  slice 6 & alpha only of a texture any time you switch back to it
  you'll see slice 6 & alpha only.
* It can be disabled in the options, but this is the new default
  behaviour. Possibly in future the zoom level and visible range might
  be rolled into this, but for now I think they might work better as
  global state.
2015-02-14 12:19:13 +00:00
baldurk e8b2abc0a4 Remove old old disable thumbnails code 2015-02-14 12:01:26 +00:00
baldurk 8938c71853 Texture buffers now default to viewing in the buffer not texture viewer
* The pipeline state windows will open up the buffer viewer instead of
  the texture viewer to show the contents of texture buffers.
2015-02-12 21:15:02 +00:00
baldurk 424f5ab964 Set texture viewer status bar to fixed width font. Partly experimental
* Since the addition of the normalised UV co-ords the status bar will
  flicker in width horrendously when scanning over a texture and it's
  impossible to track where you are. Even worse, if the text is wide
  enough (or the window narrow enough) you'll end up with the status
  bar flickering between one and two lines - which is awful.
* For now I've added some padding for numbers and set a fixed width font
  so the only varying element is the actual texel value, which is
  unavoidable in the general case. The text is probably wider overall
  so I'll need to see what feedback I get.
2015-02-10 17:37:08 +00:00
baldurk 54ad900f53 Set parameters for custom shaders, and update template & snippet buttons
* RENDERDOC_TextureType has different value meanings for the different
  types on GL - need to update the docs to reflect this.
2015-02-09 22:38:44 +00:00
baldurk 86d0b8a952 Implement custom display shaders for OpenGL logs, no parameters yet
* glsl and hlsl custom display shaders are kept separate, and only shown
  for the appropriate log type.
* The little snippets added in the shader editor aren't updated yet, and
  none of the pre-defined shader constants are filled out.
2015-02-09 22:19:13 +00:00
baldurk 72cfee5c0f Add GLSL syntax highlighting 2015-02-09 18:14:20 +00:00