Agenda GPU Hardware Queue Flip Queue CPU Queues













































- Slides: 45


Agenda











GPU Hardware Queue Flip Queue CPU Queues CPU Threads





Feature Level 9. 1 9. 3 Texture size 2048 x 2048 4096 x 4096 Pixel shader instructions 64 arithmetic, 32 sample 512 total

I/O Cost 1 2 3 Operation Screen Fill w/Solid Color 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 Convert. Dips. To. Pixels(float dips) { static const float dips. Per. Inch = 96. 0 f; return floor(dips*Display. Properties: : Logical. Dpi/dips. Per. Inch+0. 5 f); } … Platform: : Agile<Windows: : UI: : Core. Window> m_window; float swapchain. Width = Convert. Dips. To. Pixels(m_window->Bounds. Width); float swapchain. Height = Convert. Dips. To. Pixels(m_window->Bounds. Height);




m_swap. Chain->Present(1, 0); // present the image on the display Com. Ptr<ID 3 D 11 View> view; m_render. Target. View. As(&view); // get the view on the RT m_d 3 d. Context->Discard. View(view. Get()); // discard the view

Graphics memory GPU shader cores Memory bus

Graphics memory GPU shader cores Memory bus


static const float bright. Threshold = 0. 5 f; Texture 2 D source. Texture : register(t 0); float 4 Down. Scale 3 x 3 Bright. Pass(Quad. Vertex. Shader. Output input) : SV_TARGET { float 3 bright. Color = 0; // Gather 16 adjacent pixels (each bilinear sample reads a 2 x 2 region) bright. Color = source. Texture. Sample(linear. Sampler, input. tex, int 2(-1, -1)). rgb; bright. Color += source. Texture. Sample(linear. Sampler, input. tex, int 2(-1, 1)). rgb; bright. Color += source. Texture. Sample(linear. Sampler, input. tex, int 2( 1, 1)). rgb; bright. Color /= 4. 0 f; // Brightness thresholding bright. Color = max(0, bright. Color - bright. Threshold); return float 4(bright. Color, 1. 0 f); }

static const min 16 float bright. Threshold = (min 16 float)0. 5; Texture 2 D<min 16 float 4> source. Texture : register(t 0); float 4 Down. Scale 3 x 3 Bright. Pass(Quad. Vertex. Shader. Output input) : SV_TARGET { min 16 float 3 bright. Color = 0; // Gather 16 adjacent pixels (each bilinear sample reads a 2 x 2 region) bright. Color = source. Texture. Sample(linear. Sampler, input. tex, int 2(-1, -1)). rgb; bright. Color += source. Texture. Sample(linear. Sampler, input. tex, int 2(-1, 1)). rgb; bright. Color += source. Texture. Sample(linear. Sampler, input. tex, int 2( 1, 1)). rgb; bright. Color /= (min 16 float)4. 0; // Brightness thresholding bright. Color = max(0, bright. Color - bright. Threshold); return float 4(bright. Color, 1. 0 f); }

static const min 16 float bright. Threshold = (min 16 float)0. 5; Texture 2 D<min 16 float 4> source. Texture : register(t 0); float 4 Down. Scale 3 x 3 Bright. Pass(Quad. Vertex. Shader. Output input) : SV_TARGET { min 16 float 3 bright. Color = 0; // Gather 16 adjacent pixels (each bilinear sample reads a 2 x 2 region) bright. Color = source. Texture. Sample(linear. Sampler, input. tex, int 2(-1, -1)). rgb; bright. Color += source. Texture. Sample(linear. Sampler, input. tex, int 2(-1, 1)). rgb; bright. Color += source. Texture. Sample(linear. Sampler, input. tex, int 2( 1, 1)). rgb; bright. Color /= (min 10 int)4. 0; // Brightness thresholding bright. Color = max(0, bright. Color - bright. Threshold); return float 4(bright. Color, 1. 0 f); }



http: //blogs. msdn. com/b/dsvc/archive/2012/10/26/windows-rt-windows-store-appdebugging. aspx http: //code. msdn. microsoft. com/windowsapps/Geometry-Realization-963 be 8 b 7#content http: //msdn. microsoft. com/enus/library/windows/desktop/jj 585574(v=vs. 85). aspx http: //msdn. microsoft. com/enus/library/windows/desktop/hh 404562(v=vs. 85). aspx

http: //msdn. microsoft. com/en. US/windows/apps/br 229512 http: //design. windows. com/ http: //code. msdn. microsoft. com/windows apps/Windows-8 -Modern-Style-App. Samples http: //channel 9. msdn. com/Windows http: //aka. ms/Build. Sessions
