diff --git a/qrenderdoc/Resources/128.png b/qrenderdoc/Resources/128.png
new file mode 100644
index 000000000..bd3f5cbb5
Binary files /dev/null and b/qrenderdoc/Resources/128.png differ
diff --git a/qrenderdoc/Resources/RightArrow_Gray_16x16.png b/qrenderdoc/Resources/RightArrow_Gray_16x16.png
new file mode 100644
index 000000000..566ff8416
Binary files /dev/null and b/qrenderdoc/Resources/RightArrow_Gray_16x16.png differ
diff --git a/qrenderdoc/Resources/RightArrow_Green_16x16.png b/qrenderdoc/Resources/RightArrow_Green_16x16.png
new file mode 100644
index 000000000..b244731cb
Binary files /dev/null and b/qrenderdoc/Resources/RightArrow_Green_16x16.png differ
diff --git a/qrenderdoc/Resources/accept.png b/qrenderdoc/Resources/accept.png
new file mode 100644
index 000000000..89c8129a4
Binary files /dev/null and b/qrenderdoc/Resources/accept.png differ
diff --git a/qrenderdoc/Resources/add.png b/qrenderdoc/Resources/add.png
new file mode 100644
index 000000000..6332fefea
Binary files /dev/null and b/qrenderdoc/Resources/add.png differ
diff --git a/qrenderdoc/Resources/arrow_in.png b/qrenderdoc/Resources/arrow_in.png
new file mode 100644
index 000000000..745c65134
Binary files /dev/null and b/qrenderdoc/Resources/arrow_in.png differ
diff --git a/qrenderdoc/Resources/arrow_join.png b/qrenderdoc/Resources/arrow_join.png
new file mode 100644
index 000000000..a128413d8
Binary files /dev/null and b/qrenderdoc/Resources/arrow_join.png differ
diff --git a/qrenderdoc/Resources/arrow_undo.png b/qrenderdoc/Resources/arrow_undo.png
new file mode 100644
index 000000000..6972c5e59
Binary files /dev/null and b/qrenderdoc/Resources/arrow_undo.png differ
diff --git a/qrenderdoc/Resources/asterisk_orange.png b/qrenderdoc/Resources/asterisk_orange.png
new file mode 100644
index 000000000..1ebebde54
Binary files /dev/null and b/qrenderdoc/Resources/asterisk_orange.png differ
diff --git a/qrenderdoc/Resources/chart_curve.png b/qrenderdoc/Resources/chart_curve.png
new file mode 100644
index 000000000..01e933a61
Binary files /dev/null and b/qrenderdoc/Resources/chart_curve.png differ
diff --git a/qrenderdoc/Resources/cog.png b/qrenderdoc/Resources/cog.png
new file mode 100644
index 000000000..67de2c6cc
Binary files /dev/null and b/qrenderdoc/Resources/cog.png differ
diff --git a/qrenderdoc/Resources/cog_go.png b/qrenderdoc/Resources/cog_go.png
new file mode 100644
index 000000000..3262767cd
Binary files /dev/null and b/qrenderdoc/Resources/cog_go.png differ
diff --git a/qrenderdoc/Resources/color_wheel.png b/qrenderdoc/Resources/color_wheel.png
new file mode 100644
index 000000000..809fb00e5
Binary files /dev/null and b/qrenderdoc/Resources/color_wheel.png differ
diff --git a/qrenderdoc/Resources/connect.png b/qrenderdoc/Resources/connect.png
new file mode 100644
index 000000000..024138eb3
Binary files /dev/null and b/qrenderdoc/Resources/connect.png differ
diff --git a/qrenderdoc/Resources/cross.png b/qrenderdoc/Resources/cross.png
new file mode 100644
index 000000000..1514d51a3
Binary files /dev/null and b/qrenderdoc/Resources/cross.png differ
diff --git a/qrenderdoc/Resources/crosshatch.png b/qrenderdoc/Resources/crosshatch.png
new file mode 100644
index 000000000..09275f9c0
Binary files /dev/null and b/qrenderdoc/Resources/crosshatch.png differ
diff --git a/qrenderdoc/Resources/delete.png b/qrenderdoc/Resources/delete.png
new file mode 100644
index 000000000..08f249365
Binary files /dev/null and b/qrenderdoc/Resources/delete.png differ
diff --git a/qrenderdoc/Resources/disconnect.png b/qrenderdoc/Resources/disconnect.png
new file mode 100644
index 000000000..b335cb11c
Binary files /dev/null and b/qrenderdoc/Resources/disconnect.png differ
diff --git a/qrenderdoc/Resources/find.png b/qrenderdoc/Resources/find.png
new file mode 100644
index 000000000..154747964
Binary files /dev/null and b/qrenderdoc/Resources/find.png differ
diff --git a/qrenderdoc/Resources/fit_window.png b/qrenderdoc/Resources/fit_window.png
new file mode 100644
index 000000000..2e9bc42be
Binary files /dev/null and b/qrenderdoc/Resources/fit_window.png differ
diff --git a/qrenderdoc/Resources/flag_green.png b/qrenderdoc/Resources/flag_green.png
new file mode 100644
index 000000000..e4bc611f8
Binary files /dev/null and b/qrenderdoc/Resources/flag_green.png differ
diff --git a/qrenderdoc/Resources/flip_y.png b/qrenderdoc/Resources/flip_y.png
new file mode 100644
index 000000000..e3fb21ea0
Binary files /dev/null and b/qrenderdoc/Resources/flip_y.png differ
diff --git a/qrenderdoc/Resources/folder_page.png b/qrenderdoc/Resources/folder_page.png
new file mode 100644
index 000000000..1ef6e1143
Binary files /dev/null and b/qrenderdoc/Resources/folder_page.png differ
diff --git a/qrenderdoc/Resources/glsl.xml b/qrenderdoc/Resources/glsl.xml
new file mode 100644
index 000000000..553c91f8b
--- /dev/null
+++ b/qrenderdoc/Resources/glsl.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+ in out inout static const
+
+ break continue do for while switch case default if else true false discard return
+
+ radians degrees sin cos tan asin acos atan sinh cosh tanh asinh acosh atanh pow
+ exp log exp2 log2 sqrt inversesqrt abs sign floor trunc round
+ roundEven ceil fract mod modf min max clamp mix step
+ smoothstep isnan isinf floatBitsToInt floatBitsToUint intBitsToFloat uintBitsToFloat fma frexp ldexp
+
+ packUnorm2x16 packSnorm2x16 packUnorm4x8 packSnorm4x8 unpackUnorm2x16 unpackSnorm2x16 unpackUnorm4x8 unpackSnorm4x8 packDouble2x32 unpackDouble2x32 packHalf2x16 unpackHalf2x16
+ length distance dot cross normalize faceforward reflect refract matrixCompMult outerProduct transpose determinant inverse lessThan
+ lessThanEqual greaterThan greaterThanEqual equal notEqual any all not uaddCarry
+ usubBorrow umulExtended imulExtended bitfieldExtract bitfieldInsert bitfieldReverse bitCount findLSB findMSB
+
+ textureSize textureQueryLod textureQueryLevels textureSamples texture textureProj textureLod textureOffset texelFetch texelFetchOffset textureProjOffset textureLodOffset
+ textureProjLod textureProjLodOffset textureGrad textureGradOffset textureProjGrad textureProjGradOffset textureGather textureGatherOffset textureGatherOffsets
+
+ atomicCounterIncrement atomicCounterDecrement atomicCounter atomicAdd atomicMin atomicMax atomicAnd atomicOr atomicXor atomicExchange atomicCompSwap
+
+ imageSize imageSamples imageLoad imageStore imageAtomicAdd imageAtomicMin imageAtomicMax imageAtomicAnd imageAtomicOr imageAtomicXor imageAtomicExchange imageAtomicCompSwap
+
+ dFdx dFdy dFdxFine dFdyFine dFdxCoarse dFdyCoarse fwidth fwidthFine fwidthCoarse interpolateAtCentroid
+ interpolateAtSample interpolateAtOffset EmitStreamVertex EndStreamPrimitive EmitVertex EndPrimitive
+ barrier memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierShared memoryBarrierImage groupMemoryBarrier
+
+ gl_CullDistance gl_FragCoord gl_FragDepth gl_FrontFacing gl_GlobalInvocationID gl_HelperInvocation gl_in gl_InstanceID gl_InvocationID gl_Layer gl_LocalInvocationID
+ gl_LocalInvocationIndex gl_MaxPatchVertices gl_NumWorkGroups gl_out gl_PatchVerticesIn gl_PerVertex gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID
+ gl_PrimitiveIDIn gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_TessCoord gl_TessLevelInner
+ gl_TessLevelOuter gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize
+
+ gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize gl_MaxComputeUniformComponents gl_MaxComputeTextureImageUnits gl_MaxComputeImageUniforms gl_MaxComputeAtomicCounters gl_MaxComputeAtomicCounterBuffers gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingComponents gl_MaxVertexOutputComponents gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxFragmentInputComponents gl_MaxVertexTextureImageUnits gl_MaxCombinedTextureImageUnits
+ gl_MaxTextureImageUnits gl_MaxImageUnits gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedShaderOutputResources gl_MaxImageSamples gl_MaxVertexImageUniforms gl_MaxTessControlImageUniforms gl_MaxTessEvaluationImageUniforms gl_MaxGeometryImageUniforms gl_MaxFragmentImageUniforms gl_MaxCombinedImageUniforms gl_MaxFragmentUniformComponents gl_MaxDrawBuffers gl_MaxClipDistances gl_MaxGeometryTextureImageUnits gl_MaxGeometryOutputVertices
+ gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlUniformComponents gl_MaxTessControlTotalOutputComponents gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessPatchComponents gl_MaxPatchVertices gl_MaxTessGenLevel gl_MaxViewports gl_MaxVertexUniformVectors gl_MaxFragmentUniformVectors
+ gl_MaxVaryingVectors gl_MaxVertexAtomicCounters gl_MaxTessControlAtomicCounters gl_MaxTessEvaluationAtomicCounters gl_MaxGeometryAtomicCounters gl_MaxFragmentAtomicCounters gl_MaxCombinedAtomicCounters gl_MaxAtomicCounterBindings gl_MaxVertexAtomicCounterBuffers gl_MaxTessControlAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxGeometryAtomicCounterBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxCombinedAtomicCounterBuffers gl_MaxAtomicCounterBufferSize gl_MinProgramTexelOffset
+ gl_MaxProgramTexelOffset gl_MaxTransformFeedbackBuffers gl_MaxTransformFeedbackInterleavedComponents gl_MaxCullDistances gl_MaxCombinedClipAndCullDistances gl_MaxSamples gl_MaxVertexImageUniforms gl_MaxFragmentImageUniforms gl_MaxComputeImageUniforms gl_MaxCombinedImageUniforms gl_MaxCombinedShaderOutputResources gl_DepthRangeParameters gl_DepthRange gl_NumSamples
+
+
+ float double int void bool
+
+ mat2 mat3 mat4 dmat2 dmat3 dmat4
+ mat2x2 mat2x3 mat2x4 dmat2x2 dmat2x3 dmat2x4
+ mat3x2 mat3x3 mat3x4 dmat3x2 dmat3x3 dmat3x4
+ mat4x2 mat4x3 mat4x4 dmat4x2 dmat4x3 dmat4x4
+ vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 dvec2 dvec3 dvec4
+ uint uvec2 uvec3 uvec4
+
+ atomic_uint patch sample buffer subroutine struct
+
+ invariant precise layout
+
+ lowp mediump highp precision
+ attribute uniform varying shared
+ coherent volatile restrict readonly writeonly
+ centroid flat smooth noperspective
+
+ sampler1D sampler2D sampler3D samplerCube
+ sampler1DShadow sampler2DShadow samplerCubeShadow
+ sampler1DArray sampler2DArray
+ sampler1DArrayShadow sampler2DArrayShadow
+ isampler1D isampler2D isampler3D isamplerCube
+ isampler1DArray isampler2DArray
+ usampler1D usampler2D usampler3D usamplerCube
+ usampler1DArray usampler2DArray
+ sampler2DRect sampler2DRectShadow isampler2DRect usampler2DRect
+ samplerBuffer isamplerBuffer usamplerBuffer
+ sampler2DMS isampler2DMS usampler2DMS
+ sampler2DMSArray isampler2DMSArray usampler2DMSArray
+ samplerCubeArray samplerCubeArrayShadow isamplerCubeArray usamplerCubeArray
+
+ image1D iimage1D uimage1D
+ image2D iimage2D uimage2D
+ image3D iimage3D uimage3D
+ image2DRect iimage2DRect uimage2DRect
+ imageCube iimageCube uimageCube
+ imageBuffer iimageBuffer uimageBuffer
+ image1DArray iimage1DArray uimage1DArray
+ image2DArray iimage2DArray uimage2DArray
+ imageCubeArray iimageCubeArray uimageCubeArray
+ image2DMS iimage2DMS uimage2DMS
+ image2DMSArray iimage2DMSArray uimage2DMSArray
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qrenderdoc/Resources/hlsl.xml b/qrenderdoc/Resources/hlsl.xml
new file mode 100644
index 000000000..84ec0dd46
--- /dev/null
+++ b/qrenderdoc/Resources/hlsl.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+ register packoffset static const
+
+ break continue discard do for if else switch while case default return true false
+
+ abort abs acos all AllMemoryBarrier AllMemoryBarrierWithGroupSync any asdouble asfloat asin asint asuint atan
+ atan2 ceil clamp clip cos cosh countbits cross D3DCOLORtoUBYTE4 ddx ddx_coarse ddx_fine ddy ddy_coarse ddy_fine
+ degrees determinant DeviceMemoryBarrier DeviceMemoryBarrierWithGroupSync distance dot dst errorf
+ EvaluateAttributeAtCentroid EvaluateAttributeAtSample EvaluateAttributeSnapped exp exp2 f16tof32 f32tof16
+ faceforward firstbithigh firstbitlow floor fma fmod frac frexp fwidth GetRenderTargetSampleCount GetRenderTargetSamplePosition
+ GroupMemoryBarrier GroupMemoryBarrierWithGroupSync InterlockedAdd InterlockedAnd InterlockedCompareExchange
+ InterlockedCompareStore InterlockedExchange InterlockedMax InterlockedMin InterlockedOr InterlockedXor isfinite
+ isinf isnan ldexp length lerp lit log log10 log2 mad max min modf msad4 mul noise normalize pow printf
+ Process2DQuadTessFactorsAvg Process2DQuadTessFactorsMax Process2DQuadTessFactorsMin ProcessIsolineTessFactors
+ ProcessQuadTessFactorsAvg ProcessQuadTessFactorsMax ProcessQuadTessFactorsMin ProcessTriTessFactorsAvg
+ ProcessTriTessFactorsMax ProcessTriTessFactorsMin radians rcp reflect refract reversebits round rsqrt saturate
+ sign sin sincos sinh smoothstep sqrt step tan tanh tex1D tex1Dbias tex1Dgrad tex1Dlod tex1Dproj
+ tex2D tex2Dbias tex2Dgrad tex2Dlod tex2Dproj tex3D tex3Dbias tex3Dgrad tex3Dlod tex3Dproj texCUBE texCUBEbias
+ texCUBEgrad texCUBElod texCUBEproj transpose trunc
+
+ BINORMAL BINORMAL0 BINORMAL1 BINORMAL2 BINORMAL3 BINORMAL4 BINORMAL5 BINORMAL6 BINORMAL7
+ BLENDINDICES BLENDINDICES0 BLENDINDICES1 BLENDINDICES2 BLENDINDICES3 BLENDINDICES4 BLENDINDICES5 BLENDINDICES6 BLENDINDICES7
+ BLENDWEIGHT BLENDWEIGHT0 BLENDWEIGHT1 BLENDWEIGHT2 BLENDWEIGHT3 BLENDWEIGHT4 BLENDWEIGHT5 BLENDWEIGHT6 BLENDWEIGHT7
+ COLOR COLOR0 COLOR1 COLOR2 COLOR3 COLOR4 COLOR5 COLOR6 COLOR7
+ NORMAL NORMAL0 NORMAL1 NORMAL2 NORMAL3 NORMAL4 NORMAL5 NORMAL6 NORMAL7
+ POSITION POSITION0 POSITION1 POSITION2 POSITION3 POSITION4 POSITION5 POSITION6 POSITION7
+ POSITIONT
+ PSIZE PSIZE0 PSIZE1 PSIZE2 PSIZE3 PSIZE4 PSIZE5 PSIZE6 PSIZE7
+ TANGENT TANGENT0 TANGENT1 TANGENT2 TANGENT3 TANGENT4 TANGENT5 TANGENT6 TANGENT7
+ TEXCOORD TEXCOORD0 TEXCOORD1 TEXCOORD2 TEXCOORD3 TEXCOORD4 TEXCOORD5 TEXCOORD6 TEXCOORD7 TEXCOORD8 TEXCOORD9
+ TEXCOORD0 TEXCOORD1 TEXCOORD2 TEXCOORD3 TEXCOORD4 TEXCOORD5 TEXCOORD6 TEXCOORD7 TEXCOORD8 TEXCOORD9
+
+ SV_Coverage SV_Depth SV_DispatchThreadID SV_DomainLocation SV_GroupID SV_GroupIndex SV_GroupThreadID SV_GSInstanceID SV_InsideTessFactor SV_IsFrontFace SV_OutputControlPointID SV_POSITION SV_Position SV_RenderTargetArrayIndex SV_SampleIndex SV_TessFactor SV_ViewportArrayIndex SV_InstanceID SV_PrimitiveID SV_VertexID SV_TargetID
+ SV_TARGET SV_Target SV_Target0 SV_Target1 SV_Target2 SV_Target3 SV_Target4 SV_Target5 SV_Target6 SV_Target7
+ SV_ClipDistance0 SV_ClipDistance1 SV_ClipDistance2 SV_ClipDistance3 SV_ClipDistance4 SV_ClipDistance5 SV_ClipDistance6 SV_ClipDistance7
+ SV_CullDistance0 SV_CullDistance1 SV_CullDistance2 SV_CullDistance3 SV_CullDistance4 SV_CullDistance5 SV_CullDistance6 SV_CullDistance7
+
+
+ bool bool1 bool2 bool3 bool4
+ bool1x1 bool1x2 bool1x3 bool1x4
+ bool2x1 bool2x2 bool2x3 bool2x4
+ bool3x1 bool3x2 bool3x3 bool3x4
+ bool4x1 bool4x2 bool4x3 bool4x4
+
+ int int1 int2 int3 int4
+ int1x1 int1x2 int1x3 int1x4
+ int2x1 int2x2 int2x3 int2x4
+ int3x1 int3x2 int3x3 int3x4
+ int4x1 int4x2 int4x3 int4x4
+
+ uint uint1 uint2 uint3 uint4
+ uint1x1 uint1x2 uint1x3 uint1x4
+ uint2x1 uint2x2 uint2x3 uint2x4
+ uint3x1 uint3x2 uint3x3 uint3x4
+ uint4x1 uint4x2 uint4x3 uint4x4
+
+ UINT UINT2 UINT3 UINT4
+
+ dword dword1 dword2 dword3 dword4
+ dword1x1 dword1x2 dword1x3 dword1x4
+ dword2x1 dword2x2 dword2x3 dword2x4
+ dword3x1 dword3x2 dword3x3 dword3x4
+ dword4x1 dword4x2 dword4x3 dword4x4
+
+ half half1 half2 half3 half4
+ half1x1 half1x2 half1x3 half1x4
+ half2x1 half2x2 half2x3 half2x4
+ half3x1 half3x2 half3x3 half3x4
+ half4x1 half4x2 half4x3 half4x4
+
+ float float1 float2 float3 float4
+ float1x1 float1x2 float1x3 float1x4
+ float2x1 float2x2 float2x3 float2x4
+ float3x1 float3x2 float3x3 float3x4
+ float4x1 float4x2 float4x3 float4x4
+
+ double double1 double2 double3 double4
+ double1x1 double1x2 double1x3 double1x4
+ double2x1 double2x2 double2x3 double2x4
+ double3x1 double3x2 double3x3 double3x4
+ double4x1 double4x2 double4x3 double4x4
+
+ snorm unorm string void cbuffer struct
+
+ Buffer AppendStructuredBfufer ByteAddressBuffer ConsumeStructuredBuffer StructuredBuffer
+ RWBuffer RWByteAddressBuffer RWStructuredBuffer RWTexture1D RWTexture1DArray RWTexture2D RWTexture2DArray RWTexture3D
+
+ InputPatch OutputPatch
+
+ linear centroid nointerpolation noperspective sample
+
+ sampler sampler1D sampler2D sampler3D samplerCUBE SamplerComparisonState SamplerState sampler_state
+ AddressU AddressV AddressW BorderColor Filter MaxAnisotropy MaxLOD MinLOD MipLODBias ComparisonFunc ComparisonFilter
+
+ texture Texture1D Texture1DArray Texture2D Texture2DArray Texture2DMS Texture2DMSArray Texture3D TextureCube
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qrenderdoc/Resources/hourglass.png b/qrenderdoc/Resources/hourglass.png
new file mode 100644
index 000000000..57b03ce7a
Binary files /dev/null and b/qrenderdoc/Resources/hourglass.png differ
diff --git a/qrenderdoc/Resources/icon.ico b/qrenderdoc/Resources/icon.ico
new file mode 100644
index 000000000..25aadb166
Binary files /dev/null and b/qrenderdoc/Resources/icon.ico differ
diff --git a/qrenderdoc/Resources/information.png b/qrenderdoc/Resources/information.png
new file mode 100644
index 000000000..12cd1aef9
Binary files /dev/null and b/qrenderdoc/Resources/information.png differ
diff --git a/qrenderdoc/Resources/new_window.png b/qrenderdoc/Resources/new_window.png
new file mode 100644
index 000000000..2e945076c
Binary files /dev/null and b/qrenderdoc/Resources/new_window.png differ
diff --git a/qrenderdoc/Resources/page_white_database.png b/qrenderdoc/Resources/page_white_database.png
new file mode 100644
index 000000000..bddba1f98
Binary files /dev/null and b/qrenderdoc/Resources/page_white_database.png differ
diff --git a/qrenderdoc/Resources/page_white_delete.png b/qrenderdoc/Resources/page_white_delete.png
new file mode 100644
index 000000000..af1ecaf29
Binary files /dev/null and b/qrenderdoc/Resources/page_white_delete.png differ
diff --git a/qrenderdoc/Resources/page_white_edit.png b/qrenderdoc/Resources/page_white_edit.png
new file mode 100644
index 000000000..b93e77600
Binary files /dev/null and b/qrenderdoc/Resources/page_white_edit.png differ
diff --git a/qrenderdoc/Resources/page_white_link.png b/qrenderdoc/Resources/page_white_link.png
new file mode 100644
index 000000000..bf7bd1c9b
Binary files /dev/null and b/qrenderdoc/Resources/page_white_link.png differ
diff --git a/qrenderdoc/Resources/plugin_add.png b/qrenderdoc/Resources/plugin_add.png
new file mode 100644
index 000000000..ae43690ec
Binary files /dev/null and b/qrenderdoc/Resources/plugin_add.png differ
diff --git a/qrenderdoc/Resources/red_x_16.png b/qrenderdoc/Resources/red_x_16.png
new file mode 100644
index 000000000..8277651a3
Binary files /dev/null and b/qrenderdoc/Resources/red_x_16.png differ
diff --git a/qrenderdoc/Resources/runback.png b/qrenderdoc/Resources/runback.png
new file mode 100644
index 000000000..5dc696781
Binary files /dev/null and b/qrenderdoc/Resources/runback.png differ
diff --git a/qrenderdoc/Resources/runcursor.png b/qrenderdoc/Resources/runcursor.png
new file mode 100644
index 000000000..e3e14c5a6
Binary files /dev/null and b/qrenderdoc/Resources/runcursor.png differ
diff --git a/qrenderdoc/Resources/runfwd.png b/qrenderdoc/Resources/runfwd.png
new file mode 100644
index 000000000..b1a181923
Binary files /dev/null and b/qrenderdoc/Resources/runfwd.png differ
diff --git a/qrenderdoc/Resources/save.png b/qrenderdoc/Resources/save.png
new file mode 100644
index 000000000..5ca4d1062
Binary files /dev/null and b/qrenderdoc/Resources/save.png differ
diff --git a/qrenderdoc/Resources/stepnext.png b/qrenderdoc/Resources/stepnext.png
new file mode 100644
index 000000000..d29136c46
Binary files /dev/null and b/qrenderdoc/Resources/stepnext.png differ
diff --git a/qrenderdoc/Resources/stepprev.png b/qrenderdoc/Resources/stepprev.png
new file mode 100644
index 000000000..24f8bbe29
Binary files /dev/null and b/qrenderdoc/Resources/stepprev.png differ
diff --git a/qrenderdoc/Resources/tick.png b/qrenderdoc/Resources/tick.png
new file mode 100644
index 000000000..a9925a06a
Binary files /dev/null and b/qrenderdoc/Resources/tick.png differ
diff --git a/qrenderdoc/Resources/time.png b/qrenderdoc/Resources/time.png
new file mode 100644
index 000000000..911da3f1d
Binary files /dev/null and b/qrenderdoc/Resources/time.png differ
diff --git a/qrenderdoc/Resources/timeline_marker.png b/qrenderdoc/Resources/timeline_marker.png
new file mode 100644
index 000000000..a3fbddf88
Binary files /dev/null and b/qrenderdoc/Resources/timeline_marker.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_linelist.png b/qrenderdoc/Resources/topologies/topo_linelist.png
new file mode 100644
index 000000000..a9078db14
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_linelist.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_linelist_adj.png b/qrenderdoc/Resources/topologies/topo_linelist_adj.png
new file mode 100644
index 000000000..e88c03511
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_linelist_adj.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_linestrip.png b/qrenderdoc/Resources/topologies/topo_linestrip.png
new file mode 100644
index 000000000..08dad1f0a
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_linestrip.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_linestrip_adj.png b/qrenderdoc/Resources/topologies/topo_linestrip_adj.png
new file mode 100644
index 000000000..11978f508
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_linestrip_adj.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_patch.png b/qrenderdoc/Resources/topologies/topo_patch.png
new file mode 100644
index 000000000..59cb92532
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_patch.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_pointlist.png b/qrenderdoc/Resources/topologies/topo_pointlist.png
new file mode 100644
index 000000000..9d69eb3e0
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_pointlist.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_trilist.png b/qrenderdoc/Resources/topologies/topo_trilist.png
new file mode 100644
index 000000000..7f9a64704
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_trilist.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_trilist_adj.png b/qrenderdoc/Resources/topologies/topo_trilist_adj.png
new file mode 100644
index 000000000..80a4b6838
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_trilist_adj.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_tristrip.png b/qrenderdoc/Resources/topologies/topo_tristrip.png
new file mode 100644
index 000000000..39fd59a75
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_tristrip.png differ
diff --git a/qrenderdoc/Resources/topologies/topo_tristrip_adj.png b/qrenderdoc/Resources/topologies/topo_tristrip_adj.png
new file mode 100644
index 000000000..7ebcf2297
Binary files /dev/null and b/qrenderdoc/Resources/topologies/topo_tristrip_adj.png differ
diff --git a/qrenderdoc/Resources/wand.png b/qrenderdoc/Resources/wand.png
new file mode 100644
index 000000000..44ccbf812
Binary files /dev/null and b/qrenderdoc/Resources/wand.png differ
diff --git a/qrenderdoc/Resources/wireframe_mesh.png b/qrenderdoc/Resources/wireframe_mesh.png
new file mode 100644
index 000000000..25c2e9816
Binary files /dev/null and b/qrenderdoc/Resources/wireframe_mesh.png differ
diff --git a/qrenderdoc/Resources/wrench.png b/qrenderdoc/Resources/wrench.png
new file mode 100644
index 000000000..5c8213fef
Binary files /dev/null and b/qrenderdoc/Resources/wrench.png differ
diff --git a/qrenderdoc/Resources/zoom.png b/qrenderdoc/Resources/zoom.png
new file mode 100644
index 000000000..908612e39
Binary files /dev/null and b/qrenderdoc/Resources/zoom.png differ
diff --git a/qrenderdoc/qrenderdoc.pro b/qrenderdoc/qrenderdoc.pro
index 324ebc9af..c6c44aa6d 100644
--- a/qrenderdoc/qrenderdoc.pro
+++ b/qrenderdoc/qrenderdoc.pro
@@ -67,3 +67,6 @@ HEADERS += MainWindow.h \
FORMS += MainWindow.ui \
EventBrowser.ui \
TextureViewer.ui
+
+RESOURCES += \
+ resources.qrc
diff --git a/qrenderdoc/resources.qrc b/qrenderdoc/resources.qrc
new file mode 100644
index 000000000..41dcd56cc
--- /dev/null
+++ b/qrenderdoc/resources.qrc
@@ -0,0 +1,62 @@
+
+
+ Resources/128.png
+ Resources/accept.png
+ Resources/add.png
+ Resources/arrow_in.png
+ Resources/arrow_join.png
+ Resources/arrow_undo.png
+ Resources/asterisk_orange.png
+ Resources/chart_curve.png
+ Resources/cog.png
+ Resources/cog_go.png
+ Resources/color_wheel.png
+ Resources/connect.png
+ Resources/cross.png
+ Resources/crosshatch.png
+ Resources/delete.png
+ Resources/disconnect.png
+ Resources/find.png
+ Resources/fit_window.png
+ Resources/flag_green.png
+ Resources/flip_y.png
+ Resources/folder_page.png
+ Resources/glsl.xml
+ Resources/hlsl.xml
+ Resources/hourglass.png
+ Resources/icon.ico
+ Resources/information.png
+ Resources/new_window.png
+ Resources/page_white_database.png
+ Resources/page_white_delete.png
+ Resources/page_white_edit.png
+ Resources/page_white_link.png
+ Resources/plugin_add.png
+ Resources/red_x_16.png
+ Resources/RightArrow_Gray_16x16.png
+ Resources/RightArrow_Green_16x16.png
+ Resources/runback.png
+ Resources/runcursor.png
+ Resources/runfwd.png
+ Resources/save.png
+ Resources/stepnext.png
+ Resources/stepprev.png
+ Resources/tick.png
+ Resources/time.png
+ Resources/timeline_marker.png
+ Resources/wand.png
+ Resources/wireframe_mesh.png
+ Resources/wrench.png
+ Resources/zoom.png
+ Resources/topologies/topo_linelist.png
+ Resources/topologies/topo_linelist_adj.png
+ Resources/topologies/topo_linestrip.png
+ Resources/topologies/topo_linestrip_adj.png
+ Resources/topologies/topo_patch.png
+ Resources/topologies/topo_pointlist.png
+ Resources/topologies/topo_trilist.png
+ Resources/topologies/topo_trilist_adj.png
+ Resources/topologies/topo_tristrip.png
+ Resources/topologies/topo_tristrip_adj.png
+
+