Agenda GPU Hardware Queue Flip Queue CPU Queues CPU Threads Feature Level 9.1 9.3 Texture size 2048x2048 4096x4096 Pixel shader instructions 64 arithmetic, 32 sample 512 total.

Download Report

Transcript Agenda GPU Hardware Queue Flip Queue CPU Queues CPU Threads Feature Level 9.1 9.3 Texture size 2048x2048 4096x4096 Pixel shader instructions 64 arithmetic, 32 sample 512 total.

Agenda
GPU Hardware Queue
Flip Queue
CPU Queues
CPU Threads
Feature Level
9.1
9.3
Texture size
2048x2048
4096x4096
Pixel shader
instructions
64 arithmetic, 32
sample
512 total
I/O Cost
1
Operation
Screen Fill w/Solid Color
2
Screen Fill w/Texture
3
Screen Fill w/Texture & Alpha Blend
Graphics
memory
GPU
shader cores
Memory bus
Graphics
memory
GPU
shader cores
Memory bus
Graphics
memory
GPU
shader cores
Memory bus
Graphics
memory
GPU
shader cores
Memory bus
using namespace Windows::Graphics::Display;
float ConvertDipsToPixels(float dips)
{
static const float dipsPerInch = 96.0f;
return floor(dips*DisplayProperties::LogicalDpi/dipsPerInch+0.5f);
}
…
Platform::Agile<Windows::UI::Core::CoreWindow> m_window;
float swapchainWidth = ConvertDipsToPixels(m_window->Bounds.Width);
float swapchainHeight = ConvertDipsToPixels(m_window->Bounds.Height);
m_swapChain->Present(1, 0);
// present the image on the display
ComPtr<ID3D11View> view;
m_renderTargetView.As(&view);
// get the view on the RT
m_d3dContext->DiscardView(view.Get());
// discard the view
Graphics
memory
GPU
shader cores
Memory bus
Graphics
memory
GPU
shader cores
Memory bus
static const float
brightThreshold = 0.5f;
Texture2D sourceTexture : register(t0);
float4 DownScale3x3BrightPass(QuadVertexShaderOutput input) : SV_TARGET
{
float3 brightColor = 0;
// Gather 16 adjacent pixels (each bilinear sample reads a 2x2 region)
brightColor = sourceTexture.Sample(linearSampler, input.tex, int2(-1,-1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2( 1,-1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2(-1, 1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2( 1, 1)).rgb;
brightColor /= 4.0f;
// Brightness thresholding
brightColor = max(0, brightColor - brightThreshold);
return float4(brightColor, 1.0f);
}
static const min16float
brightThreshold = (min16float)0.5;
Texture2D<min16float4> sourceTexture : register(t0);
float4 DownScale3x3BrightPass(QuadVertexShaderOutput input) : SV_TARGET
{
min16float3 brightColor = 0;
// Gather 16 adjacent pixels (each bilinear sample reads a 2x2 region)
brightColor = sourceTexture.Sample(linearSampler, input.tex, int2(-1,-1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2( 1,-1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2(-1, 1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2( 1, 1)).rgb;
brightColor /= (min16float)4.0;
// Brightness thresholding
brightColor = max(0, brightColor - brightThreshold);
return float4(brightColor, 1.0f);
}
static const min16float
brightThreshold = (min16float)0.5;
Texture2D<min16float4> sourceTexture : register(t0);
float4 DownScale3x3BrightPass(QuadVertexShaderOutput input) : SV_TARGET
{
min16float3 brightColor = 0;
// Gather 16 adjacent pixels (each bilinear sample reads a 2x2 region)
brightColor = sourceTexture.Sample(linearSampler, input.tex, int2(-1,-1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2( 1,-1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2(-1, 1)).rgb;
brightColor += sourceTexture.Sample(linearSampler, input.tex, int2( 1, 1)).rgb;
brightColor /= (min10int)4.0;
// Brightness thresholding
brightColor = max(0, brightColor - brightThreshold);
return float4(brightColor, 1.0f);
}
http://blogs.msdn.com/b/dsvc/archive/2012/10/26/windows-rt-windows-store-appdebugging.aspx
http://code.msdn.microsoft.com/windowsapps/Geometry-Realization-963be8b7#content
http://msdn.microsoft.com/enus/library/windows/desktop/jj585574(v=vs.85).aspx
http://msdn.microsoft.com/enus/library/windows/desktop/hh404562(v=vs.85).aspx
http://msdn.microsoft.com/enUS/windows/apps/br229512
http://design.windows.com/
http://code.msdn.microsoft.com/windows
apps/Windows-8-Modern-Style-AppSamples
http://channel9.msdn.com/Windows
http://aka.ms/BuildSessions