message: Fix out of bounds vertex buffer fetching behaviour
diff: @@ -1943,8 +1943,11 @@ ShaderDebugTrace *D3D11Replay::DebugVertex(uint32_t eventId, uint32_t vertid, ui
  if(srcData == NULL || packedsize > dataSize)
  {
  - state.inputs[i].value.u.x = state.inputs[i].value.u.y = state.inputs[i].value.u.z =
  - state.inputs[i].value.u.w = 0;
  + state.inputs[i].value.u.x = state.inputs[i].value.u.y = state.inputs[i].value.u.z = 0;
  + if(fmt.compType == CompType::UInt || fmt.compType == CompType::SInt)
  + state.inputs[i].value.u.w = 1;
  + else
  + state.inputs[i].value.f.w = 1.0f;
  }
  else if(fmt.type == ResourceFormatType::R5G5B5A1)
  {
  @@ -1988,16 +1991,18 @@ ShaderDebugTrace *D3D11Replay::DebugVertex(uint32_t eventId, uint32_t vertid, ui
  }
  else
  {
  - for(uint32_t c = 0; c < fmt.compCount; c++)
  + if(fmt.compByteWidth * fmt.compCount > dataSize)
  {
  - if(srcData == NULL || fmt.compByteWidth > dataSize)
  - {
  - state.inputs[i].value.uv[c] = 0;
  - continue;
  + state.inputs[i].value.u.x = state.inputs[i].value.u.y = state.inputs[i].value.u.z = 0;
  + if(fmt.compType == CompType::UInt || fmt.compType == CompType::SInt)
  + state.inputs[i].value.u.w = 1;
  + else
  + state.inputs[i].value.f.w = 1.0f;
  }
  -
  - dataSize -= fmt.compByteWidth;
  -
  + else
  + {
  + for(uint32_t c = 0; c < fmt.compCount; c++)
  + {
  if(fmt.compByteWidth == 1)
  {
  byte *src = srcData + c * fmt.compByteWidth;
  @@ -2065,6 +2070,7 @@ ShaderDebugTrace *D3D11Replay::DebugVertex(uint32_t eventId, uint32_t vertid, ui
  }
  }
  }
  + }
  else if(dxbc->GetReflection()->InputSig[i].systemValue == ShaderBuiltin::VertexIndex)
  {
  uint32_t sv_vertid = vertid;
  