SlideShare a Scribd company logo
1 of 27
Download to read offline
RAPIDFIRE	
  API	
  FOR	
  CLOUD	
  GAMING	
  	
  
BRUNO	
  STEFANIZZI	
  
CHRISTOPHER	
  MAYER	
  
DMITRY	
  KOZLOV	
  
AMD RapidFire Technology
! Most	
  cloud	
  gaming	
  soluJons	
  are	
  CPU	
  based	
  
! RapidFire	
  is	
  dedicated	
  cloud	
  hardware	
  and	
  soQware	
  soluJon	
  with	
  API	
  to	
  simplify	
  
integraJon	
  
– Deliver	
  more	
  HD	
  games	
  streams	
  per	
  GPU	
  with	
  low	
  latency	
  -­‐>	
  6	
  x	
  HD	
  720p30	
  fps	
  
– Leverage	
  AMD	
  hardware	
  on	
  both	
  server	
  and	
  client	
  

Low	
  
Latency	
  

HD	
  Image	
  Quality	
  

2	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Mul?ple	
  Streams	
  

Virtualiza?on	
  
Enablement	
  
AMD RapidFire Technology
! 	
  Design	
  for	
  many	
  use	
  cases	
  and	
  workflows	
  

High	
  
resolu?on	
  

3	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Collabora?ve	
  

Virtual	
  Desktop	
  

Adapta?ve	
  to	
  	
  
Network	
  environment	
  
GCN

Render	
  	
  Graphics	
  

Frame
Grab
VCE

Notebook	
  

4	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Low-­‐latency	
  frame	
  capture	
  

HD	
  mul?-­‐stream	
  
Compression	
  

Handheld	
  

Desktop	
  
AMD RapidFire Technology
Server	
  
Client	
  

System	
  Memory	
  
CPU	
  
H264	
  
Encode	
  

decode	
  

RAPIDFIRE	
  API	
  
Network	
  

DRIVER	
  
GPU	
  

Keyboard	
  
Mouse	
  

Frame	
  Buffer	
  

Keyboard	
  
Mouse	
  events	
  

Keyboard	
  
Mouse	
  

HW	
  
H264	
  
Encode	
  

5	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
RAPIDFIRE	
  TECHNOLOGY	
  
DATA	
  FLOW	
  OVERVIEW	
  

Client	
  

Server	
  
GAME	
  SERVER	
  

NETWORK	
  	
  

NETWORK	
  

Radeon	
  Sky	
  GPU	
  
	
  
3D	
  ENGINE	
  

ENCODE	
  

FRAME	
  BUFFER	
  

6	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  RF	
  API	
  module	
  
!  external	
  module	
  

	
  DECODE	
  

UI	
  

FRAME	
  BUFFER	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

Radeon	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

7	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
GAME	
  
INSTANCE	
  	
  

NETWORK	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

Radeon	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

8	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
GAME	
  
INSTANCE	
  	
  

NETWORK	
  

!  Game	
  server	
  sends	
  
commands	
  to	
  GPU	
  to	
  draw	
  
next	
  frame	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

Radeon	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

9	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
GAME	
  
INSTANCE	
  	
  

NETWORK	
  

!  Game	
  server	
  sends	
  
commands	
  to	
  GPU	
  to	
  draw	
  
next	
  frame	
  
!  GPU	
  distributes	
  the	
  work	
  
among	
  execuJon	
  resources	
  
and	
  produces	
  resulJng	
  
frame	
  into	
  the	
  frame	
  buffer	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

Radeon	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

10	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
GAME	
  
INSTANCE	
  	
  

NETWORK	
  

!  Game	
  server	
  sends	
  
commands	
  to	
  GPU	
  to	
  draw	
  
next	
  frame	
  
!  GPU	
  distributes	
  the	
  work	
  
among	
  execuJon	
  resources	
  
and	
  produces	
  resulJng	
  
frame	
  into	
  the	
  frame	
  buffer	
  
!  VCE	
  is	
  performing	
  
asynchronous	
  frame	
  
sequence	
  encoding	
  into	
  
H264	
  video	
  stream	
  and	
  the	
  
data	
  is	
  fetched	
  to	
  system	
  
memory	
  by	
  the	
  app	
  
RAPIDFIRE	
  TECHNOLOGY	
  
SERVER	
  SIDE	
  DATA	
  FLOW	
  

Radeon	
  Sky	
  GPU	
  
3D	
  ENGINE	
  
EXECUTION	
  
RESOURCES	
  
FRAME	
  BUFFER	
  

ENCODE	
  

11	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  Network	
  component	
  
transfers	
  UI	
  events	
  from	
  
the	
  client	
  to	
  the	
  server	
  

Server	
  
GAME	
  
INSTANCE	
  	
  

NETWORK	
  

!  Game	
  server	
  sends	
  
commands	
  to	
  GPU	
  to	
  draw	
  
next	
  frame	
  
!  GPU	
  distributes	
  the	
  work	
  
among	
  execuJon	
  resources	
  
and	
  produces	
  resulJng	
  
frame	
  into	
  the	
  frame	
  buffer	
  
!  VCE	
  is	
  performing	
  
asynchronous	
  frame	
  
sequence	
  encoding	
  into	
  
H246	
  video	
  stream	
  and	
  the	
  
data	
  is	
  fetched	
  to	
  system	
  
memory	
  by	
  the	
  app	
  
!  SW-­‐encoded	
  audio	
  stream	
  
is	
  merged	
  with	
  the	
  video	
  
stream	
  and	
  sent	
  to	
  the	
  
network	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  Game	
  client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
Radeon	
  GPU	
  
NETWORK	
  

GAME	
  CLIENT	
  
DECODE	
  

DECODE	
  AUDIO	
  

UI	
  

Audio	
  device	
  

Input	
  
devices	
  

12	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

FRAME	
  BUFFER	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  Game	
  client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
Radeon	
  GPU	
  
NETWORK	
  

GAME	
  CLIENT	
  
H264	
  DECODE	
  

DECODE	
  

UI	
  

Audio	
  device	
  

Input	
  
devices	
  

13	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

FRAME	
  BUFFER	
  

!  The	
  client	
  sends	
  the	
  stream	
  
to	
  Radeon	
  GPU	
  which	
  
performs	
  H264	
  hardware	
  
decoding	
  to	
  the	
  frame	
  
buffer	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  Game	
  client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
Radeon	
  GPU	
  
NETWORK	
  

GAME	
  CLIENT	
  
DECODE	
  

DECODE	
  AUDIO	
  

Input	
  
devices	
  

!  Sound	
  stream	
  is	
  decoded	
  
using	
  soQware	
  audio	
  codec	
  
and	
  sent	
  to	
  audio	
  hardware	
  

UI	
  

Audio	
  device	
  

14	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

!  The	
  client	
  sends	
  the	
  stream	
  
to	
  Radeon	
  GPU	
  which	
  
performs	
  H264	
  hardware	
  
decoding	
  to	
  the	
  frame	
  
buffer	
  

FRAME	
  BUFFER	
  
RAPIDFIRE	
  TECHNOLOGY	
  
CLIENT	
  SIDE	
  DATA	
  FLOW	
  

!  Game	
  client	
  receives	
  H264	
  
stream	
  from	
  the	
  server	
  
using	
  RTSP	
  protocol	
  

Client	
  
Radeon	
  GPU	
  
NETWORK	
  

GAME	
  CLIENT	
  
DECODE	
  

DECODE	
  AUDIO	
  

!  The	
  client	
  sends	
  the	
  stream	
  
to	
  Radeon	
  GPU	
  which	
  
performs	
  H264	
  hardware	
  
decoding	
  to	
  the	
  frame	
  
buffer	
  
!  Sound	
  stream	
  is	
  decoded	
  
using	
  soQware	
  audio	
  codec	
  
and	
  sent	
  to	
  audio	
  hardware	
  

UI	
  

!  UI	
  events	
  are	
  collected	
  by	
  
the	
  client	
  and	
  sent	
  over	
  the	
  
network	
  to	
  the	
  server	
  

Audio	
  device	
  

15	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Input	
  
devices	
  

FRAME	
  BUFFER	
  
THE	
  RAPIDFIRE	
  API	
  
COMPONENTS	
  

"  Server	
  component	
  
The	
  server	
  component	
  provides	
  funcJons	
  for	
  the:	
  
‒  Encoding	
  of	
  video	
  and	
  audio	
  data	
  
‒  Color	
  space	
  conversion	
  
‒  Capturing	
  of	
  the	
  desktop	
  
‒  Handling	
  of	
  mulJple	
  render	
  targets	
  
‒  Interoperability	
  with	
  OpenGL,	
  D3D9	
  and	
  D3D11	
  
	
  

"  Network	
  component	
  
The	
  Network	
  component	
  is	
  a	
  sample	
  implementaJon	
  
of	
  video	
  and	
  audio	
  streaming	
  based	
  on	
  the	
  LIVE555	
  
Media	
  Server.	
  	
  
	
  

"  User	
  Interface	
  
The	
  UI	
  component	
  provide	
  funcJons	
  to:	
  
‒  Capture	
  user	
  events	
  on	
  the	
  client	
  
‒  Send	
  the	
  events	
  to	
  the	
  server	
  for	
  processing	
  

"  Client	
  component	
  
The	
  client	
  component	
  provides	
  funcJons	
  for:	
  
‒  Decoding	
  of	
  video	
  and	
  audio	
  streams	
  
‒  Color	
  space	
  conversion	
  
‒  Interoperability	
  with	
  OpenGL,	
  D3D9	
  and	
  D3D11	
  
	
  

16	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
IniJalizaJon	
  

Render	
  Loop	
  

Create	
  RenderTarget	
  

Draw	
  to	
  free	
  
RenderTarget	
  

rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

rfCreateEncoder	
  

rfEncodeFrame	
  

rfGetEncodedFrame	
  

rfRtspServerSendFrame	
  

Done?	
  

17	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
IniJalizaJon	
  

Create	
  RenderTarget	
  

rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

rfCreateEncoder	
  

"  rfCreateEncodeSession	
  
‒  Creates	
  an	
  encoding	
  session	
  on	
  the	
  server.	
  The	
  sessions	
  encapsulates	
  the	
  following	
  
components:	
  
‒  Rendering	
  context/device	
  
‒  Compute	
  context	
  that	
  is	
  used	
  for	
  the	
  color	
  space	
  conversion	
  
‒  Render	
  targets	
  
‒  Desktop	
  
‒  The	
  encoder:	
  SW,	
  VCE	
  or	
  IDENTITY	
  
	
  

‒  The	
  following	
  session	
  types	
  are	
  supported	
  
‒  OpenGL	
  
‒  DX9	
  /	
  DX9Ex	
  
‒  DX11	
  
‒  Desktop	
  capturing	
  

18	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
IniJalizaJon	
  

Create	
  RenderTarget	
  

rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

rfCreateEncoder	
  

"  rfCreateEncodeSession	
  
‒  CreaJng	
  an	
  OpenGL	
  session	
  that	
  uses	
  the	
  VCE	
  HW	
  encoding	
  
	
  	
  	
  	
  RFProperties	
  props[]	
  =	
  {	
  RF_GL_GRAPHICS_CTX,	
  (RFProperties)hGLRC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_GL_DEVICE_CTX,	
  	
  	
  (RFProperties)hDC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER,	
  	
  	
  	
  	
  	
  	
  	
  	
  (RFProperties)RF_VCE,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  };	
  
	
  
	
  	
  	
  	
  //	
  Create	
  RapidFire	
  encoding	
  session	
  
	
  	
  	
  	
  RFEncodeSession	
  session	
  =	
  rfCreateEncodeSession(props);	
  
	
  

"  rfRegisterRenderTargt	
  	
  
	
  	
  	
  	
  for	
  (unsigned	
  int	
  i	
  =	
  0;	
  i	
  <	
  NUM_RENDER_TARGETS;	
  i++)	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  rfRegisterRenderTarget(session,	
  RF_RT_GL_TEXTURE,	
  uiTexName[i],	
  uiWidth,	
  uiHeight,	
  &renderTargetIdx[i]));	
  
	
  	
  	
  	
  }	
  
	
  

	
  
	
  
‒  Input:	
  Name	
  of	
  the	
  OpenGL	
  Texture,	
  dimension	
  of	
  the	
  texture	
  
‒  Output:	
  The	
  index	
  used	
  by	
  RF	
  to	
  idenJfy	
  this	
  render	
  target	
  

19	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
IniJalizaJon	
  

"  rfCreateEncoder	
  
‒  CreaJng	
  an	
  Encoder	
  using	
  a	
  preset	
  configuraJon	
  
rfCreateEncoder(session,	
  uiWidth,	
  uiHeight,	
  RF_ENCODE_FAST)	
  
	
  

Create	
  RenderTarget	
  

‒  The	
  following	
  presets	
  are	
  supported:	
  
rfCreateEncodeSession	
  

rfRegisterRenderTarget	
  

‒  RF_ENCODE_FAST	
  
‒  RF_ENCODE_BALANCED	
  
‒  RF_ENCODE_QUALITY	
  

"  rfCreateEncoder2	
  
‒  CreaJng	
  an	
  encoder	
  using	
  properJes	
  

rfCreateEncoder	
  

//	
  Create	
  encoder	
  using	
  properties	
  
RFProperties	
  props[]	
  =	
  {	
  RF_ENCODER_PROFILE,	
  (RFProperties)RF_MAIN,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER_LEVEL,	
  	
  	
  (RFProperties)41,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER_BITRATE,	
  (RFProperties)6000000,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_ENCODER_FPS,	
  	
  	
  	
  	
  (RFProperties)30,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  };	
  
	
  
rfCreateEncoder2(session,	
  uiWidth,	
  uiHeight,	
  props));	
  
	
  

20	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  SERVER	
  COMPONENT	
  
	
  
Render	
  Loop	
  

"  rfEncodeFrame	
  
rfEncodeFrame(session,	
  renderTargetIdx[uiCurrentRT]));	
  

Draw	
  to	
  free	
  
RenderTarget	
  

rfEncodeFrame	
  

rfGetEncodedFrame	
  

rfRtspServerSendFrame	
  

Done?	
  

‒  Non-­‐blocking	
  call	
  to	
  submit	
  a	
  frame	
  for	
  encoding	
  

"  rfGetEncodedFrame	
  
//	
  Check	
  if	
  encoded	
  frame	
  is	
  ready	
  
if	
  (rfIsEncodedFrameReady(session))	
  
{	
  
	
  	
  	
  if	
  (rfGetEncodedFrame(session,	
  &uiBitStreamSize,	
  (void**)&pBitStreamdata)	
  ==	
  RF_STATUS_OK)	
  
	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  if	
  (uiBitStreamSize	
  >	
  0)	
  
	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  Send	
  encoded	
  frame	
  to	
  Network	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  rtspStatus	
  =	
  rfRtspServerSendFrame(rtsp_sn,	
  pBitStreamdata,	
  uiBitStreamSize,	
  tv.tv_sec,	
  tv.tv_usec,	
  1);	
  
	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  }	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
}	
  

‒  Check	
  first	
  if	
  a	
  frame	
  is	
  ready	
  
‒  If	
  a	
  frame	
  is	
  available	
  get	
  the	
  data	
  to	
  system	
  memory	
  
‒  Send	
  the	
  frame	
  over	
  the	
  network	
  to	
  the	
  client	
  

21	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  

IniJalizaJon	
  

Render	
  Loop	
  

Create	
  Target	
  Textures	
  

Wait	
  to	
  receive	
  frame	
  

rfCreateDecodeSession	
  

rfDecodeFrame	
  

rfRegisterTargetTexture	
  

Display	
  frame	
  using	
  
Target	
  Texture	
  

rfCreateVideoDecoder	
  

22	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

Done?	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
IniJalizaJon	
  

"  rfCreateDecodeSession	
  
‒  Creates	
  a	
  decoding	
  session	
  on	
  the	
  client.	
  The	
  sessions	
  encapsulates	
  the	
  following	
  
components:	
  

Create	
  Target	
  Textures	
  

rfCreateDecodeSession	
  

rfRegisterTargetTexture	
  

rfCreateVideoDecoder	
  

‒  Rendering	
  context/device	
  
‒  Compute	
  context	
  that	
  is	
  used	
  for	
  the	
  color	
  space	
  conversion	
  
‒  Target	
  Textures	
  
‒  Decoder:	
  SW	
  or	
  UVD	
  
	
  

‒  The	
  following	
  session	
  are	
  supported	
  
‒  OpenGL	
  
‒  DX9	
  /	
  DX9Ex	
  
‒  DX11	
  

23	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
IniJalizaJon	
  

Create	
  Target	
  Textures	
  

rfCreateDecodeSession	
  

rfRegisterTargetTexture	
  

rfCreateVideoDecoder	
  

"  rfCreateDecodeSession	
  
RFProperties	
  props[]	
  =	
  {	
  RF_GL_GRAPHICS_CTX,	
  (RFProperties)hGLRC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_GL_DEVICE_CTX,	
  	
  	
  (RFProperties)hDC,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RF_DECODER,	
  	
  	
  	
  	
  	
  	
  	
  	
  (RFProperties)RF_UVD,	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  };	
  
	
  
//	
  Create	
  RapidFire	
  decoding	
  session	
  
RFDecSession	
  session	
  =	
  rfCreateDecodeSession(props);	
  
	
  

‒  Creates	
  an	
  OpenGL	
  session	
  that	
  uses	
  the	
  UVD	
  decoder	
  

"  rfRegisterTargetTexture	
  
rfRegisterTargetTexture(session,	
  uiTextureName);	
  
	
  

‒  Registers	
  an	
  OpenGL	
  texture	
  	
  
‒  The	
  texture	
  will	
  be	
  used	
  to	
  store	
  the	
  decoded	
  frame	
  

24	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
IniJalizaJon	
  

"  rfCreateVideoDecoder	
  
rfCreateVideoDecoder(session,	
  uiWidth,	
  uiHeight);	
  
	
  

Create	
  Target	
  Textures	
  

‒  Create	
  the	
  actual	
  decoder	
  
rfCreateDecodeSession	
  

rfRegisterTargetTexture	
  

rfCreateVideoDecoder	
  

25	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
THE	
  RAPIDFIRE	
  API	
  
THE	
  CLIENT	
  COMPONENT	
  
	
  
Render	
  Loop	
  

"  rfDecodeFrame	
  
rfDecodeFrame(session);	
  
	
  

Wait	
  to	
  receive	
  frame	
  

rfDecodeFrame	
  

‒  Decodes	
  a	
  frame	
  
‒  The	
  decoded	
  frame	
  is	
  stored	
  in	
  the	
  registered	
  texture	
  
‒  Now	
  the	
  applicaJon	
  can	
  use	
  the	
  texture	
  to	
  display	
  the	
  frame	
  

Display	
  frame	
  using	
  
Target	
  Texture	
  

Done?	
  

26	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  
DISCLAIMER	
  &	
  ATTRIBUTION	
  

The	
  informaJon	
  presented	
  in	
  this	
  document	
  is	
  for	
  informaJonal	
  purposes	
  only	
  and	
  may	
  contain	
  technical	
  inaccuracies,	
  omissions	
  and	
  typographical	
  errors.	
  
	
  
The	
  informaJon	
  contained	
  herein	
  is	
  subject	
  to	
  change	
  and	
  may	
  be	
  rendered	
  inaccurate	
  for	
  many	
  reasons,	
  including	
  but	
  not	
  limited	
  to	
  product	
  and	
  roadmap	
  
changes,	
  component	
  and	
  motherboard	
  version	
  changes,	
  new	
  model	
  and/or	
  product	
  releases,	
  product	
  differences	
  between	
  differing	
  manufacturers,	
  soQware	
  
changes,	
  BIOS	
  flashes,	
  firmware	
  upgrades,	
  or	
  the	
  like.	
  AMD	
  assumes	
  no	
  obligaJon	
  to	
  update	
  or	
  otherwise	
  correct	
  or	
  revise	
  this	
  informaJon.	
  However,	
  AMD	
  
reserves	
  the	
  right	
  to	
  revise	
  this	
  informaJon	
  and	
  to	
  make	
  changes	
  from	
  Jme	
  to	
  Jme	
  to	
  the	
  content	
  hereof	
  without	
  obligaJon	
  of	
  AMD	
  to	
  noJfy	
  any	
  person	
  of	
  
such	
  revisions	
  or	
  changes.	
  
	
  
AMD	
  MAKES	
  NO	
  REPRESENTATIONS	
  OR	
  WARRANTIES	
  WITH	
  RESPECT	
  TO	
  THE	
  CONTENTS	
  HEREOF	
  AND	
  ASSUMES	
  NO	
  RESPONSIBILITY	
  FOR	
  ANY	
  
INACCURACIES,	
  ERRORS	
  OR	
  OMISSIONS	
  THAT	
  MAY	
  APPEAR	
  IN	
  THIS	
  INFORMATION.	
  
	
  
AMD	
  SPECIFICALLY	
  DISCLAIMS	
  ANY	
  IMPLIED	
  WARRANTIES	
  OF	
  MERCHANTABILITY	
  OR	
  FITNESS	
  FOR	
  ANY	
  PARTICULAR	
  PURPOSE.	
  IN	
  NO	
  EVENT	
  WILL	
  AMD	
  BE	
  
LIABLE	
  TO	
  ANY	
  PERSON	
  FOR	
  ANY	
  DIRECT,	
  INDIRECT,	
  SPECIAL	
  OR	
  OTHER	
  CONSEQUENTIAL	
  DAMAGES	
  ARISING	
  FROM	
  THE	
  USE	
  OF	
  ANY	
  INFORMATION	
  
CONTAINED	
  HEREIN,	
  EVEN	
  IF	
  AMD	
  IS	
  EXPRESSLY	
  ADVISED	
  OF	
  THE	
  POSSIBILITY	
  OF	
  SUCH	
  DAMAGES.	
  
	
  
ATTRIBUTION	
  
©	
  2013	
  Advanced	
  Micro	
  Devices,	
  Inc.	
  All	
  rights	
  reserved.	
  AMD,	
  the	
  AMD	
  Arrow	
  logo	
  and	
  combinaJons	
  thereof	
  are	
  trademarks	
  of	
  Advanced	
  Micro	
  Devices,	
  
Inc.	
  in	
  the	
  United	
  States	
  and/or	
  other	
  jurisdicJons.	
  	
  SPEC	
  	
  is	
  a	
  registered	
  trademark	
  of	
  the	
  Standard	
  Performance	
  EvaluaJon	
  CorporaJon	
  (SPEC).	
  Other	
  
names	
  are	
  for	
  informaJonal	
  purposes	
  only	
  and	
  may	
  be	
  trademarks	
  of	
  their	
  respecJve	
  owners.	
  
27	
   |	
  	
  	
  PRESENTATION	
  TITLE	
  	
  	
  |	
  	
  	
  DECEMBER	
  4,	
  2013	
  	
  	
  |	
  	
  	
  CONFIDENTIAL	
  

More Related Content

What's hot

HC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasHC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasAMD Developer Central
 
WT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon WoodsWT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon WoodsAMD Developer Central
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...AMD Developer Central
 
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian BallantyneWT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian BallantyneAMD Developer Central
 
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...AMD Developer Central
 
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxPG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxAMD Developer Central
 
MM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman HashimMM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman HashimAMD Developer Central
 
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...AMD Developer Central
 
GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen KatsmanGS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen KatsmanAMD Developer Central
 
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent BetbederMM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent BetbederAMD Developer Central
 
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...AMD Developer Central
 
IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...
IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...
IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...AMD Developer Central
 
PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...
PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...
PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...AMD Developer Central
 
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...AMD Developer Central
 
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...AMD Developer Central
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...AMD Developer Central
 
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...AMD Developer Central
 
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...AMD Developer Central
 
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...AMD Developer Central
 
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...AMD Developer Central
 

What's hot (20)

HC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasHC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu Das
 
WT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon WoodsWT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
 
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian BallantyneWT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
WT-4066, The Making of Turbulenz’ Polycraft WebGL Benchmark, by Ian Ballantyne
 
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
PL-4050, An Introduction to SPIR for OpenCL Application Developers and Compil...
 
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxPG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
 
MM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman HashimMM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman Hashim
 
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
MM-4104, Smart Sharpen using OpenCL in Adobe Photoshop CC – Challenges and Ac...
 
GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen KatsmanGS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
GS-4151, Developing Thief with new AMD technology, by Jurjen Katsman
 
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent BetbederMM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
 
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
CE-4030, Optimizing Photo Editing Application with HSA Technology, by Stanley...
 
IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...
IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...
IS-4082, Real-Time insight in Big Data – Even faster using HSA, by Norbert He...
 
PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...
PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...
PT-4056, Harnessing Heterogeneous Systems Using C++ AMP – How the Story is Ev...
 
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
PT-4053, Advanced OpenCL - Debugging and Profiling Using AMD CodeXL, by Uri S...
 
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
 
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by  Mikael ...
WT-4069, WebCL: Enabling OpenCL Acceleration of Web Applications, by Mikael ...
 
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
 
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
CE-4114, Screen Mirror, a unified screen mirroring solution that utilizes AMD...
 
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...
 

Similar to GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov

RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14AMD Developer Central
 
RemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsRemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsAmit Gatenyo
 
Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Low Hong Chuan
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)DevGAMM Conference
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote renderingMarius Preda PhD
 
6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WIND
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Developer Network
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformSatya Harish
 
Streambox Post Production Solutions
Streambox Post Production SolutionsStreambox Post Production Solutions
Streambox Post Production SolutionsAlli Gates
 
Post Production Solutions
Post Production SolutionsPost Production Solutions
Post Production SolutionsStreambox, Inc
 
Getting Started with Amazon AppStream
Getting Started with Amazon AppStreamGetting Started with Amazon AppStream
Getting Started with Amazon AppStreamAmazon Web Services
 
Mersive Solstice SDS Management Software
Mersive Solstice SDS Management SoftwareMersive Solstice SDS Management Software
Mersive Solstice SDS Management SoftwarePaul Richards
 
Understanding PCoIP and Zero Clients
Understanding PCoIP and Zero ClientsUnderstanding PCoIP and Zero Clients
Understanding PCoIP and Zero ClientsJennifer Phillips
 
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld
 
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsVISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsAdditionalResources
 
Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Altera Corporation
 
Embedded Android Real-Time Streaming Optimization
Embedded Android Real-Time Streaming OptimizationEmbedded Android Real-Time Streaming Optimization
Embedded Android Real-Time Streaming OptimizationVIA Embedded
 

Similar to GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov (20)

RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
RapidFire - the Easy Route to low Latency Cloud Gaming Solutions - AMD at GDC14
 
RemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote DesktopsRemoteFX - Rich End User Experience for VDI and Remote Desktops
RemoteFX - Rich End User Experience for VDI and Remote Desktops
 
Radeon Software Crimson ReLive
Radeon Software Crimson ReLive Radeon Software Crimson ReLive
Radeon Software Crimson ReLive
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote rendering
 
6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances6WINDGate™ - Powering the New Generation of Network Appliances
6WINDGate™ - Powering the New Generation of Network Appliances
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
 
Streambox Post Production Solutions
Streambox Post Production SolutionsStreambox Post Production Solutions
Streambox Post Production Solutions
 
Post Production Solutions
Post Production SolutionsPost Production Solutions
Post Production Solutions
 
Getting Started with Amazon AppStream
Getting Started with Amazon AppStreamGetting Started with Amazon AppStream
Getting Started with Amazon AppStream
 
3DgraphicsAndAR
3DgraphicsAndAR3DgraphicsAndAR
3DgraphicsAndAR
 
Mersive Solstice SDS Management Software
Mersive Solstice SDS Management SoftwareMersive Solstice SDS Management Software
Mersive Solstice SDS Management Software
 
Understanding PCoIP and Zero Clients
Understanding PCoIP and Zero ClientsUnderstanding PCoIP and Zero Clients
Understanding PCoIP and Zero Clients
 
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
 
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsVISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
 
Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2Upgrade Your Broadcast System to PCIe Gen2
Upgrade Your Broadcast System to PCIe Gen2
 
Cloud Gaming
Cloud GamingCloud Gaming
Cloud Gaming
 
Embedded Android Real-Time Streaming Optimization
Embedded Android Real-Time Streaming OptimizationEmbedded Android Real-Time Streaming Optimization
Embedded Android Real-Time Streaming Optimization
 
ARM
ARMARM
ARM
 

More from AMD Developer Central

DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsAMD Developer Central
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesAMD Developer Central
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAn Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAMD Developer Central
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceAMD Developer Central
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...AMD Developer Central
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozAMD Developer Central
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellAMD Developer Central
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonAMD Developer Central
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornAMD Developer Central
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevAMD Developer Central
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasAMD Developer Central
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...AMD Developer Central
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...AMD Developer Central
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14AMD Developer Central
 

More from AMD Developer Central (20)

DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIsDX12 & Vulkan: Dawn of a New Generation of Graphics APIs
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs
 
Leverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math LibrariesLeverage the Speed of OpenCL™ with AMD Math Libraries
Leverage the Speed of OpenCL™ with AMD Math Libraries
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Media SDK Webinar 2014
Media SDK Webinar 2014Media SDK Webinar 2014
Media SDK Webinar 2014
 
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware WebinarAn Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
An Introduction to OpenCL™ Programming with AMD GPUs - AMD & Acceleware Webinar
 
DirectGMA on AMD’S FirePro™ GPUS
DirectGMA on AMD’S  FirePro™ GPUSDirectGMA on AMD’S  FirePro™ GPUS
DirectGMA on AMD’S FirePro™ GPUS
 
Webinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop IntelligenceWebinar: Whats New in Java 8 with Develop Intelligence
Webinar: Whats New in Java 8 with Develop Intelligence
 
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
The Small Batch (and other) solutions in Mantle API, by Guennadi Riguer, Mant...
 
Inside XBox- One, by Martin Fuller
Inside XBox- One, by Martin FullerInside XBox- One, by Martin Fuller
Inside XBox- One, by Martin Fuller
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas Thibieroz
 
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnellRendering Battlefield 4 with Mantle by Yuriy ODonnell
Rendering Battlefield 4 with Mantle by Yuriy ODonnell
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Gcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodesGcn performance ftw by stephan hodes
Gcn performance ftw by stephan hodes
 
Inside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin FullerInside XBOX ONE by Martin Fuller
Inside XBOX ONE by Martin Fuller
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
 
Introduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan NevraevIntroduction to Direct 3D 12 by Ivan Nevraev
Introduction to Direct 3D 12 by Ivan Nevraev
 
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth ThomasHoly smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
Holy smoke! Faster Particle Rendering using Direct Compute by Gareth Thomas
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
 
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...Productive OpenCL Programming An Introduction to OpenCL Libraries  with Array...
Productive OpenCL Programming An Introduction to OpenCL Libraries with Array...
 
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
Rendering Battlefield 4 with Mantle by Johan Andersson - AMD at GDC14
 

Recently uploaded

Call Girl Price Andheri WhatsApp:+91-9833363713
Call Girl Price Andheri WhatsApp:+91-9833363713Call Girl Price Andheri WhatsApp:+91-9833363713
Call Girl Price Andheri WhatsApp:+91-9833363713Sonam Pathan
 
在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证
在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证
在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证nhjeo1gg
 
原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证
原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证
原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证jdkhjh
 
Call Girls Near Delhi Pride Hotel New Delhi 9873777170
Call Girls Near Delhi Pride Hotel New Delhi 9873777170Call Girls Near Delhi Pride Hotel New Delhi 9873777170
Call Girls Near Delhi Pride Hotel New Delhi 9873777170Sonam Pathan
 
(伦敦大学毕业证学位证成绩单-PDF版)
(伦敦大学毕业证学位证成绩单-PDF版)(伦敦大学毕业证学位证成绩单-PDF版)
(伦敦大学毕业证学位证成绩单-PDF版)twfkn8xj
 
8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCR8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCRdollysharma2066
 
NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...
NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...
NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...Amil Baba Dawood bangali
 
QUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzers
QUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzersQUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzers
QUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzersSJU Quizzers
 
Call Girls Near The Corus Hotel New Delhi 9873777170
Call Girls Near The Corus Hotel New Delhi 9873777170Call Girls Near The Corus Hotel New Delhi 9873777170
Call Girls Near The Corus Hotel New Delhi 9873777170Sonam Pathan
 
NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...
NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...
NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...Amil baba
 
North Avenue Call Girls Services, Hire Now for Full Fun
North Avenue Call Girls Services, Hire Now for Full FunNorth Avenue Call Girls Services, Hire Now for Full Fun
North Avenue Call Girls Services, Hire Now for Full FunKomal Khan
 
NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...
NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...
NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...Amil baba
 
NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...
NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...
NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...Amil Baba Dawood bangali
 
Call Girl Contact Number Andheri WhatsApp:+91-9833363713
Call Girl Contact Number Andheri WhatsApp:+91-9833363713Call Girl Contact Number Andheri WhatsApp:+91-9833363713
Call Girl Contact Number Andheri WhatsApp:+91-9833363713Sonam Pathan
 
办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书
办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书
办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书zdzoqco
 
Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170
Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170
Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170Sonam Pathan
 
Call Girls in Faridabad 9000000000 Faridabad Escorts Service
Call Girls in Faridabad 9000000000 Faridabad Escorts ServiceCall Girls in Faridabad 9000000000 Faridabad Escorts Service
Call Girls in Faridabad 9000000000 Faridabad Escorts ServiceTina Ji
 
Zoom In Game for ice breaking in a training
Zoom In Game for ice breaking in a trainingZoom In Game for ice breaking in a training
Zoom In Game for ice breaking in a trainingRafik ABDI
 
Vip Delhi Ncr Call Girls Best Services Available
Vip Delhi Ncr Call Girls Best Services AvailableVip Delhi Ncr Call Girls Best Services Available
Vip Delhi Ncr Call Girls Best Services AvailableKomal Khan
 

Recently uploaded (20)

Call Girl Price Andheri WhatsApp:+91-9833363713
Call Girl Price Andheri WhatsApp:+91-9833363713Call Girl Price Andheri WhatsApp:+91-9833363713
Call Girl Price Andheri WhatsApp:+91-9833363713
 
Environment Handling Presentation by Likhon Ahmed.pptx
Environment Handling Presentation by Likhon Ahmed.pptxEnvironment Handling Presentation by Likhon Ahmed.pptx
Environment Handling Presentation by Likhon Ahmed.pptx
 
在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证
在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证
在线办理曼大毕业证曼尼托巴大学毕业证成绩单留信学历认证
 
原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证
原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证
原版1:1复刻帕森斯设计学院毕业证Parsons毕业证留信学历认证
 
Call Girls Near Delhi Pride Hotel New Delhi 9873777170
Call Girls Near Delhi Pride Hotel New Delhi 9873777170Call Girls Near Delhi Pride Hotel New Delhi 9873777170
Call Girls Near Delhi Pride Hotel New Delhi 9873777170
 
(伦敦大学毕业证学位证成绩单-PDF版)
(伦敦大学毕业证学位证成绩单-PDF版)(伦敦大学毕业证学位证成绩单-PDF版)
(伦敦大学毕业证学位证成绩单-PDF版)
 
8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCR8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCR
8377087607 Full Enjoy @24/7 Call Girls in Patel Nagar Delhi NCR
 
NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...
NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...
NO1 Certified Black magic specialist,Expert in Pakistan Amil Baba kala ilam E...
 
QUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzers
QUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzersQUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzers
QUIZ BOLLYWOOD ( weekly quiz ) - SJU quizzers
 
Call Girls Near The Corus Hotel New Delhi 9873777170
Call Girls Near The Corus Hotel New Delhi 9873777170Call Girls Near The Corus Hotel New Delhi 9873777170
Call Girls Near The Corus Hotel New Delhi 9873777170
 
NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...
NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...
NO1 WorldWide Amil baba in pakistan Amil Baba in Karachi Black Magic Islamaba...
 
North Avenue Call Girls Services, Hire Now for Full Fun
North Avenue Call Girls Services, Hire Now for Full FunNorth Avenue Call Girls Services, Hire Now for Full Fun
North Avenue Call Girls Services, Hire Now for Full Fun
 
NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...
NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...
NO1 Certified Black magic/kala jadu,manpasand shadi in lahore,karachi rawalpi...
 
NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...
NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...
NO1 WorldWide Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi ...
 
Call Girl Contact Number Andheri WhatsApp:+91-9833363713
Call Girl Contact Number Andheri WhatsApp:+91-9833363713Call Girl Contact Number Andheri WhatsApp:+91-9833363713
Call Girl Contact Number Andheri WhatsApp:+91-9833363713
 
办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书
办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书
办理滑铁卢大学毕业证成绩单|购买加拿大文凭证书
 
Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170
Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170
Call Girls Near Taurus Sarovar Portico Hotel New Delhi 9873777170
 
Call Girls in Faridabad 9000000000 Faridabad Escorts Service
Call Girls in Faridabad 9000000000 Faridabad Escorts ServiceCall Girls in Faridabad 9000000000 Faridabad Escorts Service
Call Girls in Faridabad 9000000000 Faridabad Escorts Service
 
Zoom In Game for ice breaking in a training
Zoom In Game for ice breaking in a trainingZoom In Game for ice breaking in a training
Zoom In Game for ice breaking in a training
 
Vip Delhi Ncr Call Girls Best Services Available
Vip Delhi Ncr Call Girls Best Services AvailableVip Delhi Ncr Call Girls Best Services Available
Vip Delhi Ncr Call Girls Best Services Available
 

GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov

  • 1. RAPIDFIRE  API  FOR  CLOUD  GAMING     BRUNO  STEFANIZZI   CHRISTOPHER  MAYER   DMITRY  KOZLOV  
  • 2. AMD RapidFire Technology ! Most  cloud  gaming  soluJons  are  CPU  based   ! RapidFire  is  dedicated  cloud  hardware  and  soQware  soluJon  with  API  to  simplify   integraJon   – Deliver  more  HD  games  streams  per  GPU  with  low  latency  -­‐>  6  x  HD  720p30  fps   – Leverage  AMD  hardware  on  both  server  and  client   Low   Latency   HD  Image  Quality   2   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Mul?ple  Streams   Virtualiza?on   Enablement  
  • 3. AMD RapidFire Technology !   Design  for  many  use  cases  and  workflows   High   resolu?on   3   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Collabora?ve   Virtual  Desktop   Adapta?ve  to     Network  environment  
  • 4. GCN Render    Graphics   Frame Grab VCE Notebook   4   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Low-­‐latency  frame  capture   HD  mul?-­‐stream   Compression   Handheld   Desktop  
  • 5. AMD RapidFire Technology Server   Client   System  Memory   CPU   H264   Encode   decode   RAPIDFIRE  API   Network   DRIVER   GPU   Keyboard   Mouse   Frame  Buffer   Keyboard   Mouse  events   Keyboard   Mouse   HW   H264   Encode   5   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 6. RAPIDFIRE  TECHNOLOGY   DATA  FLOW  OVERVIEW   Client   Server   GAME  SERVER   NETWORK     NETWORK   Radeon  Sky  GPU     3D  ENGINE   ENCODE   FRAME  BUFFER   6   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  RF  API  module   !  external  module    DECODE   UI   FRAME  BUFFER  
  • 7. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   Radeon  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   7   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   GAME   INSTANCE     NETWORK  
  • 8. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   Radeon  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   8   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   GAME   INSTANCE     NETWORK   !  Game  server  sends   commands  to  GPU  to  draw   next  frame  
  • 9. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   Radeon  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   9   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   GAME   INSTANCE     NETWORK   !  Game  server  sends   commands  to  GPU  to  draw   next  frame   !  GPU  distributes  the  work   among  execuJon  resources   and  produces  resulJng   frame  into  the  frame  buffer  
  • 10. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   Radeon  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   10   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   GAME   INSTANCE     NETWORK   !  Game  server  sends   commands  to  GPU  to  draw   next  frame   !  GPU  distributes  the  work   among  execuJon  resources   and  produces  resulJng   frame  into  the  frame  buffer   !  VCE  is  performing   asynchronous  frame   sequence  encoding  into   H264  video  stream  and  the   data  is  fetched  to  system   memory  by  the  app  
  • 11. RAPIDFIRE  TECHNOLOGY   SERVER  SIDE  DATA  FLOW   Radeon  Sky  GPU   3D  ENGINE   EXECUTION   RESOURCES   FRAME  BUFFER   ENCODE   11   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  Network  component   transfers  UI  events  from   the  client  to  the  server   Server   GAME   INSTANCE     NETWORK   !  Game  server  sends   commands  to  GPU  to  draw   next  frame   !  GPU  distributes  the  work   among  execuJon  resources   and  produces  resulJng   frame  into  the  frame  buffer   !  VCE  is  performing   asynchronous  frame   sequence  encoding  into   H246  video  stream  and  the   data  is  fetched  to  system   memory  by  the  app   !  SW-­‐encoded  audio  stream   is  merged  with  the  video   stream  and  sent  to  the   network  
  • 12. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !  Game  client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   Radeon  GPU   NETWORK   GAME  CLIENT   DECODE   DECODE  AUDIO   UI   Audio  device   Input   devices   12   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   FRAME  BUFFER  
  • 13. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !  Game  client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   Radeon  GPU   NETWORK   GAME  CLIENT   H264  DECODE   DECODE   UI   Audio  device   Input   devices   13   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   FRAME  BUFFER   !  The  client  sends  the  stream   to  Radeon  GPU  which   performs  H264  hardware   decoding  to  the  frame   buffer  
  • 14. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !  Game  client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   Radeon  GPU   NETWORK   GAME  CLIENT   DECODE   DECODE  AUDIO   Input   devices   !  Sound  stream  is  decoded   using  soQware  audio  codec   and  sent  to  audio  hardware   UI   Audio  device   14   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   !  The  client  sends  the  stream   to  Radeon  GPU  which   performs  H264  hardware   decoding  to  the  frame   buffer   FRAME  BUFFER  
  • 15. RAPIDFIRE  TECHNOLOGY   CLIENT  SIDE  DATA  FLOW   !  Game  client  receives  H264   stream  from  the  server   using  RTSP  protocol   Client   Radeon  GPU   NETWORK   GAME  CLIENT   DECODE   DECODE  AUDIO   !  The  client  sends  the  stream   to  Radeon  GPU  which   performs  H264  hardware   decoding  to  the  frame   buffer   !  Sound  stream  is  decoded   using  soQware  audio  codec   and  sent  to  audio  hardware   UI   !  UI  events  are  collected  by   the  client  and  sent  over  the   network  to  the  server   Audio  device   15   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Input   devices   FRAME  BUFFER  
  • 16. THE  RAPIDFIRE  API   COMPONENTS   "  Server  component   The  server  component  provides  funcJons  for  the:   ‒  Encoding  of  video  and  audio  data   ‒  Color  space  conversion   ‒  Capturing  of  the  desktop   ‒  Handling  of  mulJple  render  targets   ‒  Interoperability  with  OpenGL,  D3D9  and  D3D11     "  Network  component   The  Network  component  is  a  sample  implementaJon   of  video  and  audio  streaming  based  on  the  LIVE555   Media  Server.       "  User  Interface   The  UI  component  provide  funcJons  to:   ‒  Capture  user  events  on  the  client   ‒  Send  the  events  to  the  server  for  processing   "  Client  component   The  client  component  provides  funcJons  for:   ‒  Decoding  of  video  and  audio  streams   ‒  Color  space  conversion   ‒  Interoperability  with  OpenGL,  D3D9  and  D3D11     16   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL    
  • 17. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT   IniJalizaJon   Render  Loop   Create  RenderTarget   Draw  to  free   RenderTarget   rfCreateEncodeSession   rfRegisterRenderTarget   rfCreateEncoder   rfEncodeFrame   rfGetEncodedFrame   rfRtspServerSendFrame   Done?   17   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 18. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     IniJalizaJon   Create  RenderTarget   rfCreateEncodeSession   rfRegisterRenderTarget   rfCreateEncoder   "  rfCreateEncodeSession   ‒  Creates  an  encoding  session  on  the  server.  The  sessions  encapsulates  the  following   components:   ‒  Rendering  context/device   ‒  Compute  context  that  is  used  for  the  color  space  conversion   ‒  Render  targets   ‒  Desktop   ‒  The  encoder:  SW,  VCE  or  IDENTITY     ‒  The  following  session  types  are  supported   ‒  OpenGL   ‒  DX9  /  DX9Ex   ‒  DX11   ‒  Desktop  capturing   18   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 19. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     IniJalizaJon   Create  RenderTarget   rfCreateEncodeSession   rfRegisterRenderTarget   rfCreateEncoder   "  rfCreateEncodeSession   ‒  CreaJng  an  OpenGL  session  that  uses  the  VCE  HW  encoding          RFProperties  props[]  =  {  RF_GL_GRAPHICS_CTX,  (RFProperties)hGLRC,                                                            RF_GL_DEVICE_CTX,      (RFProperties)hDC,                                                            RF_ENCODER,                  (RFProperties)RF_VCE,                                                            0  };            //  Create  RapidFire  encoding  session          RFEncodeSession  session  =  rfCreateEncodeSession(props);     "  rfRegisterRenderTargt            for  (unsigned  int  i  =  0;  i  <  NUM_RENDER_TARGETS;  i++)          {                rfRegisterRenderTarget(session,  RF_RT_GL_TEXTURE,  uiTexName[i],  uiWidth,  uiHeight,  &renderTargetIdx[i]));          }         ‒  Input:  Name  of  the  OpenGL  Texture,  dimension  of  the  texture   ‒  Output:  The  index  used  by  RF  to  idenJfy  this  render  target   19   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 20. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     IniJalizaJon   "  rfCreateEncoder   ‒  CreaJng  an  Encoder  using  a  preset  configuraJon   rfCreateEncoder(session,  uiWidth,  uiHeight,  RF_ENCODE_FAST)     Create  RenderTarget   ‒  The  following  presets  are  supported:   rfCreateEncodeSession   rfRegisterRenderTarget   ‒  RF_ENCODE_FAST   ‒  RF_ENCODE_BALANCED   ‒  RF_ENCODE_QUALITY   "  rfCreateEncoder2   ‒  CreaJng  an  encoder  using  properJes   rfCreateEncoder   //  Create  encoder  using  properties   RFProperties  props[]  =  {  RF_ENCODER_PROFILE,  (RFProperties)RF_MAIN,                                                    RF_ENCODER_LEVEL,      (RFProperties)41,                                                    RF_ENCODER_BITRATE,  (RFProperties)6000000,                                                    RF_ENCODER_FPS,          (RFProperties)30,                                                    0  };     rfCreateEncoder2(session,  uiWidth,  uiHeight,  props));     20   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 21. THE  RAPIDFIRE  API   THE  SERVER  COMPONENT     Render  Loop   "  rfEncodeFrame   rfEncodeFrame(session,  renderTargetIdx[uiCurrentRT]));   Draw  to  free   RenderTarget   rfEncodeFrame   rfGetEncodedFrame   rfRtspServerSendFrame   Done?   ‒  Non-­‐blocking  call  to  submit  a  frame  for  encoding   "  rfGetEncodedFrame   //  Check  if  encoded  frame  is  ready   if  (rfIsEncodedFrameReady(session))   {        if  (rfGetEncodedFrame(session,  &uiBitStreamSize,  (void**)&pBitStreamdata)  ==  RF_STATUS_OK)        {              if  (uiBitStreamSize  >  0)              {                    //  Send  encoded  frame  to  Network                    rtspStatus  =  rfRtspServerSendFrame(rtsp_sn,  pBitStreamdata,  uiBitStreamSize,  tv.tv_sec,  tv.tv_usec,  1);              }        }                                       }   ‒  Check  first  if  a  frame  is  ready   ‒  If  a  frame  is  available  get  the  data  to  system  memory   ‒  Send  the  frame  over  the  network  to  the  client   21   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 22. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniJalizaJon   Render  Loop   Create  Target  Textures   Wait  to  receive  frame   rfCreateDecodeSession   rfDecodeFrame   rfRegisterTargetTexture   Display  frame  using   Target  Texture   rfCreateVideoDecoder   22   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL   Done?  
  • 23. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniJalizaJon   "  rfCreateDecodeSession   ‒  Creates  a  decoding  session  on  the  client.  The  sessions  encapsulates  the  following   components:   Create  Target  Textures   rfCreateDecodeSession   rfRegisterTargetTexture   rfCreateVideoDecoder   ‒  Rendering  context/device   ‒  Compute  context  that  is  used  for  the  color  space  conversion   ‒  Target  Textures   ‒  Decoder:  SW  or  UVD     ‒  The  following  session  are  supported   ‒  OpenGL   ‒  DX9  /  DX9Ex   ‒  DX11   23   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 24. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniJalizaJon   Create  Target  Textures   rfCreateDecodeSession   rfRegisterTargetTexture   rfCreateVideoDecoder   "  rfCreateDecodeSession   RFProperties  props[]  =  {  RF_GL_GRAPHICS_CTX,  (RFProperties)hGLRC,                                                    RF_GL_DEVICE_CTX,      (RFProperties)hDC,                                                    RF_DECODER,                  (RFProperties)RF_UVD,                                                    0  };     //  Create  RapidFire  decoding  session   RFDecSession  session  =  rfCreateDecodeSession(props);     ‒  Creates  an  OpenGL  session  that  uses  the  UVD  decoder   "  rfRegisterTargetTexture   rfRegisterTargetTexture(session,  uiTextureName);     ‒  Registers  an  OpenGL  texture     ‒  The  texture  will  be  used  to  store  the  decoded  frame   24   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 25. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     IniJalizaJon   "  rfCreateVideoDecoder   rfCreateVideoDecoder(session,  uiWidth,  uiHeight);     Create  Target  Textures   ‒  Create  the  actual  decoder   rfCreateDecodeSession   rfRegisterTargetTexture   rfCreateVideoDecoder   25   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 26. THE  RAPIDFIRE  API   THE  CLIENT  COMPONENT     Render  Loop   "  rfDecodeFrame   rfDecodeFrame(session);     Wait  to  receive  frame   rfDecodeFrame   ‒  Decodes  a  frame   ‒  The  decoded  frame  is  stored  in  the  registered  texture   ‒  Now  the  applicaJon  can  use  the  texture  to  display  the  frame   Display  frame  using   Target  Texture   Done?   26   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL  
  • 27. DISCLAIMER  &  ATTRIBUTION   The  informaJon  presented  in  this  document  is  for  informaJonal  purposes  only  and  may  contain  technical  inaccuracies,  omissions  and  typographical  errors.     The  informaJon  contained  herein  is  subject  to  change  and  may  be  rendered  inaccurate  for  many  reasons,  including  but  not  limited  to  product  and  roadmap   changes,  component  and  motherboard  version  changes,  new  model  and/or  product  releases,  product  differences  between  differing  manufacturers,  soQware   changes,  BIOS  flashes,  firmware  upgrades,  or  the  like.  AMD  assumes  no  obligaJon  to  update  or  otherwise  correct  or  revise  this  informaJon.  However,  AMD   reserves  the  right  to  revise  this  informaJon  and  to  make  changes  from  Jme  to  Jme  to  the  content  hereof  without  obligaJon  of  AMD  to  noJfy  any  person  of   such  revisions  or  changes.     AMD  MAKES  NO  REPRESENTATIONS  OR  WARRANTIES  WITH  RESPECT  TO  THE  CONTENTS  HEREOF  AND  ASSUMES  NO  RESPONSIBILITY  FOR  ANY   INACCURACIES,  ERRORS  OR  OMISSIONS  THAT  MAY  APPEAR  IN  THIS  INFORMATION.     AMD  SPECIFICALLY  DISCLAIMS  ANY  IMPLIED  WARRANTIES  OF  MERCHANTABILITY  OR  FITNESS  FOR  ANY  PARTICULAR  PURPOSE.  IN  NO  EVENT  WILL  AMD  BE   LIABLE  TO  ANY  PERSON  FOR  ANY  DIRECT,  INDIRECT,  SPECIAL  OR  OTHER  CONSEQUENTIAL  DAMAGES  ARISING  FROM  THE  USE  OF  ANY  INFORMATION   CONTAINED  HEREIN,  EVEN  IF  AMD  IS  EXPRESSLY  ADVISED  OF  THE  POSSIBILITY  OF  SUCH  DAMAGES.     ATTRIBUTION   ©  2013  Advanced  Micro  Devices,  Inc.  All  rights  reserved.  AMD,  the  AMD  Arrow  logo  and  combinaJons  thereof  are  trademarks  of  Advanced  Micro  Devices,   Inc.  in  the  United  States  and/or  other  jurisdicJons.    SPEC    is  a  registered  trademark  of  the  Standard  Performance  EvaluaJon  CorporaJon  (SPEC).  Other   names  are  for  informaJonal  purposes  only  and  may  be  trademarks  of  their  respecJve  owners.   27   |      PRESENTATION  TITLE      |      DECEMBER  4,  2013      |      CONFIDENTIAL