[GPU] Mostly generic, not square-only resolution scaling
This commit is contained in:
parent
e2da8597e1
commit
38b4741c8f
|
@ -778,11 +778,10 @@ std::string D3D12CommandProcessor::GetWindowTitleText() const {
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
uint32_t resolution_scale = render_target_cache_->GetResolutionScale();
|
uint32_t resolution_scale_x = texture_cache_->GetDrawResolutionScaleX();
|
||||||
if (resolution_scale > 1) {
|
uint32_t resolution_scale_y = texture_cache_->GetDrawResolutionScaleY();
|
||||||
title.put(' ');
|
if (resolution_scale_x > 1 || resolution_scale_y > 1) {
|
||||||
title << resolution_scale;
|
title << ' ' << resolution_scale_x << 'x' << resolution_scale_y;
|
||||||
title.put('x');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return title.str();
|
return title.str();
|
||||||
|
@ -1203,7 +1202,8 @@ bool D3D12CommandProcessor::SetupContext() {
|
||||||
|
|
||||||
texture_cache_ = std::make_unique<TextureCache>(
|
texture_cache_ = std::make_unique<TextureCache>(
|
||||||
*this, *register_file_, *shared_memory_, bindless_resources_used_,
|
*this, *register_file_, *shared_memory_, bindless_resources_used_,
|
||||||
render_target_cache_->GetResolutionScale());
|
render_target_cache_->GetResolutionScaleX(),
|
||||||
|
render_target_cache_->GetResolutionScaleY());
|
||||||
if (!texture_cache_->Initialize()) {
|
if (!texture_cache_->Initialize()) {
|
||||||
XELOGE("Failed to initialize the texture cache");
|
XELOGE("Failed to initialize the texture cache");
|
||||||
return false;
|
return false;
|
||||||
|
@ -1791,10 +1791,11 @@ void D3D12CommandProcessor::PerformSwap(uint32_t frontbuffer_ptr,
|
||||||
PushTransitionBarrier(swap_texture_, D3D12_RESOURCE_STATE_RENDER_TARGET,
|
PushTransitionBarrier(swap_texture_, D3D12_RESOURCE_STATE_RENDER_TARGET,
|
||||||
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
|
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE);
|
||||||
// Don't care about graphics state because the frame is ending anyway.
|
// Don't care about graphics state because the frame is ending anyway.
|
||||||
|
auto swap_screen_size = GetSwapScreenSize();
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(swap_state_.mutex);
|
std::lock_guard<std::mutex> lock(swap_state_.mutex);
|
||||||
swap_state_.width = swap_texture_size.first;
|
swap_state_.width = swap_screen_size.first;
|
||||||
swap_state_.height = swap_texture_size.second;
|
swap_state_.height = swap_screen_size.second;
|
||||||
swap_state_.front_buffer_texture =
|
swap_state_.front_buffer_texture =
|
||||||
reinterpret_cast<uintptr_t>(swap_texture_srv_descriptor_heap_);
|
reinterpret_cast<uintptr_t>(swap_texture_srv_descriptor_heap_);
|
||||||
}
|
}
|
||||||
|
@ -1961,13 +1962,14 @@ bool D3D12CommandProcessor::IssueDraw(xenos::PrimitiveType primitive_type,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get dynamic rasterizer state.
|
// Get dynamic rasterizer state.
|
||||||
uint32_t resolution_scale = texture_cache_->GetDrawResolutionScale();
|
uint32_t resolution_scale_x = texture_cache_->GetDrawResolutionScaleX();
|
||||||
|
uint32_t resolution_scale_y = texture_cache_->GetDrawResolutionScaleY();
|
||||||
RenderTargetCache::DepthFloat24Conversion depth_float24_conversion =
|
RenderTargetCache::DepthFloat24Conversion depth_float24_conversion =
|
||||||
render_target_cache_->depth_float24_conversion();
|
render_target_cache_->depth_float24_conversion();
|
||||||
draw_util::ViewportInfo viewport_info;
|
draw_util::ViewportInfo viewport_info;
|
||||||
draw_util::GetHostViewportInfo(
|
draw_util::GetHostViewportInfo(
|
||||||
regs, resolution_scale, true, D3D12_VIEWPORT_BOUNDS_MAX,
|
regs, resolution_scale_x, resolution_scale_y, true,
|
||||||
D3D12_VIEWPORT_BOUNDS_MAX, false,
|
D3D12_VIEWPORT_BOUNDS_MAX, D3D12_VIEWPORT_BOUNDS_MAX, false,
|
||||||
host_render_targets_used &&
|
host_render_targets_used &&
|
||||||
(depth_float24_conversion ==
|
(depth_float24_conversion ==
|
||||||
RenderTargetCache::DepthFloat24Conversion::kOnOutputTruncating ||
|
RenderTargetCache::DepthFloat24Conversion::kOnOutputTruncating ||
|
||||||
|
@ -1977,10 +1979,10 @@ bool D3D12CommandProcessor::IssueDraw(xenos::PrimitiveType primitive_type,
|
||||||
viewport_info);
|
viewport_info);
|
||||||
draw_util::Scissor scissor;
|
draw_util::Scissor scissor;
|
||||||
draw_util::GetScissor(regs, scissor);
|
draw_util::GetScissor(regs, scissor);
|
||||||
scissor.offset[0] *= resolution_scale;
|
scissor.offset[0] *= resolution_scale_x;
|
||||||
scissor.offset[1] *= resolution_scale;
|
scissor.offset[1] *= resolution_scale_y;
|
||||||
scissor.extent[0] *= resolution_scale;
|
scissor.extent[0] *= resolution_scale_x;
|
||||||
scissor.extent[1] *= resolution_scale;
|
scissor.extent[1] *= resolution_scale_y;
|
||||||
|
|
||||||
// Update viewport, scissor, blend factor and stencil reference.
|
// Update viewport, scissor, blend factor and stencil reference.
|
||||||
UpdateFixedFunctionState(viewport_info, scissor, primitive_polygonal);
|
UpdateFixedFunctionState(viewport_info, scissor, primitive_polygonal);
|
||||||
|
@ -2374,7 +2376,7 @@ bool D3D12CommandProcessor::IssueCopy() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (cvars::d3d12_readback_resolve &&
|
if (cvars::d3d12_readback_resolve &&
|
||||||
texture_cache_->GetDrawResolutionScale() <= 1 && written_length) {
|
!texture_cache_->IsDrawResolutionScaled() && written_length) {
|
||||||
// Read the resolved data on the CPU.
|
// Read the resolved data on the CPU.
|
||||||
ID3D12Resource* readback_buffer = RequestReadbackBuffer(written_length);
|
ID3D12Resource* readback_buffer = RequestReadbackBuffer(written_length);
|
||||||
if (readback_buffer != nullptr) {
|
if (readback_buffer != nullptr) {
|
||||||
|
@ -2873,7 +2875,8 @@ void D3D12CommandProcessor::UpdateSystemConstantValues(
|
||||||
|
|
||||||
bool edram_rov_used = render_target_cache_->GetPath() ==
|
bool edram_rov_used = render_target_cache_->GetPath() ==
|
||||||
RenderTargetCache::Path::kPixelShaderInterlock;
|
RenderTargetCache::Path::kPixelShaderInterlock;
|
||||||
uint32_t resolution_scale = texture_cache_->GetDrawResolutionScale();
|
uint32_t resolution_scale_x = texture_cache_->GetDrawResolutionScaleX();
|
||||||
|
uint32_t resolution_scale_y = texture_cache_->GetDrawResolutionScaleY();
|
||||||
|
|
||||||
// Get the color info register values for each render target. Also, for ROV,
|
// Get the color info register values for each render target. Also, for ROV,
|
||||||
// exclude components that don't exist in the format from the write mask.
|
// exclude components that don't exist in the format from the write mask.
|
||||||
|
@ -3070,10 +3073,10 @@ void D3D12CommandProcessor::UpdateSystemConstantValues(
|
||||||
system_constants_.point_size_min = point_size_min;
|
system_constants_.point_size_min = point_size_min;
|
||||||
system_constants_.point_size_max = point_size_max;
|
system_constants_.point_size_max = point_size_max;
|
||||||
float point_screen_to_ndc_x =
|
float point_screen_to_ndc_x =
|
||||||
(/* 0.5f * 2.0f * */ float(resolution_scale)) /
|
(/* 0.5f * 2.0f * */ float(resolution_scale_x)) /
|
||||||
std::max(viewport_info.xy_extent[0], uint32_t(1));
|
std::max(viewport_info.xy_extent[0], uint32_t(1));
|
||||||
float point_screen_to_ndc_y =
|
float point_screen_to_ndc_y =
|
||||||
(/* 0.5f * 2.0f * */ float(resolution_scale)) /
|
(/* 0.5f * 2.0f * */ float(resolution_scale_y)) /
|
||||||
std::max(viewport_info.xy_extent[1], uint32_t(1));
|
std::max(viewport_info.xy_extent[1], uint32_t(1));
|
||||||
dirty |= system_constants_.point_screen_to_ndc[0] != point_screen_to_ndc_x;
|
dirty |= system_constants_.point_screen_to_ndc[0] != point_screen_to_ndc_x;
|
||||||
dirty |= system_constants_.point_screen_to_ndc[1] != point_screen_to_ndc_y;
|
dirty |= system_constants_.point_screen_to_ndc[1] != point_screen_to_ndc_y;
|
||||||
|
@ -3142,15 +3145,22 @@ void D3D12CommandProcessor::UpdateSystemConstantValues(
|
||||||
dirty |= system_constants_.alpha_to_mask != alpha_to_mask;
|
dirty |= system_constants_.alpha_to_mask != alpha_to_mask;
|
||||||
system_constants_.alpha_to_mask = alpha_to_mask;
|
system_constants_.alpha_to_mask = alpha_to_mask;
|
||||||
|
|
||||||
|
uint32_t edram_tile_dwords_scaled = xenos::kEdramTileWidthSamples *
|
||||||
|
xenos::kEdramTileHeightSamples *
|
||||||
|
(resolution_scale_x * resolution_scale_y);
|
||||||
|
|
||||||
// EDRAM pitch for ROV writing.
|
// EDRAM pitch for ROV writing.
|
||||||
if (edram_rov_used) {
|
if (edram_rov_used) {
|
||||||
uint32_t edram_pitch_tiles =
|
// Align, then multiply by 32bpp tile size in dwords.
|
||||||
|
uint32_t edram_32bpp_tile_pitch_dwords_scaled =
|
||||||
((rb_surface_info.surface_pitch *
|
((rb_surface_info.surface_pitch *
|
||||||
(rb_surface_info.msaa_samples >= xenos::MsaaSamples::k4X ? 2 : 1)) +
|
(rb_surface_info.msaa_samples >= xenos::MsaaSamples::k4X ? 2 : 1)) +
|
||||||
79) /
|
(xenos::kEdramTileWidthSamples - 1)) /
|
||||||
80;
|
xenos::kEdramTileWidthSamples * edram_tile_dwords_scaled;
|
||||||
dirty |= system_constants_.edram_pitch_tiles != edram_pitch_tiles;
|
dirty |= system_constants_.edram_32bpp_tile_pitch_dwords_scaled !=
|
||||||
system_constants_.edram_pitch_tiles = edram_pitch_tiles;
|
edram_32bpp_tile_pitch_dwords_scaled;
|
||||||
|
system_constants_.edram_32bpp_tile_pitch_dwords_scaled =
|
||||||
|
edram_32bpp_tile_pitch_dwords_scaled;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Color exponent bias and output index mapping or ROV render target writing.
|
// Color exponent bias and output index mapping or ROV render target writing.
|
||||||
|
@ -3184,7 +3194,7 @@ void D3D12CommandProcessor::UpdateSystemConstantValues(
|
||||||
if (rt_keep_masks[i][0] != UINT32_MAX ||
|
if (rt_keep_masks[i][0] != UINT32_MAX ||
|
||||||
rt_keep_masks[i][1] != UINT32_MAX) {
|
rt_keep_masks[i][1] != UINT32_MAX) {
|
||||||
uint32_t rt_base_dwords_scaled =
|
uint32_t rt_base_dwords_scaled =
|
||||||
color_info.color_base * 1280 * resolution_scale * resolution_scale;
|
color_info.color_base * edram_tile_dwords_scaled;
|
||||||
dirty |= system_constants_.edram_rt_base_dwords_scaled[i] !=
|
dirty |= system_constants_.edram_rt_base_dwords_scaled[i] !=
|
||||||
rt_base_dwords_scaled;
|
rt_base_dwords_scaled;
|
||||||
system_constants_.edram_rt_base_dwords_scaled[i] =
|
system_constants_.edram_rt_base_dwords_scaled[i] =
|
||||||
|
@ -3208,12 +3218,12 @@ void D3D12CommandProcessor::UpdateSystemConstantValues(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Interpolator sampling pattern, resolution scale, depth/stencil testing and
|
|
||||||
// blend constant for ROV.
|
|
||||||
if (edram_rov_used) {
|
if (edram_rov_used) {
|
||||||
uint32_t depth_base_dwords = rb_depth_info.depth_base * 1280;
|
uint32_t depth_base_dwords_scaled =
|
||||||
dirty |= system_constants_.edram_depth_base_dwords != depth_base_dwords;
|
rb_depth_info.depth_base * edram_tile_dwords_scaled;
|
||||||
system_constants_.edram_depth_base_dwords = depth_base_dwords;
|
dirty |= system_constants_.edram_depth_base_dwords_scaled !=
|
||||||
|
depth_base_dwords_scaled;
|
||||||
|
system_constants_.edram_depth_base_dwords_scaled = depth_base_dwords_scaled;
|
||||||
|
|
||||||
// For non-polygons, front polygon offset is used, and it's enabled if
|
// For non-polygons, front polygon offset is used, and it's enabled if
|
||||||
// POLY_OFFSET_PARA_ENABLED is set, for polygons, separate front and back
|
// POLY_OFFSET_PARA_ENABLED is set, for polygons, separate front and back
|
||||||
|
@ -3243,8 +3253,13 @@ void D3D12CommandProcessor::UpdateSystemConstantValues(
|
||||||
poly_offset_back_offset = poly_offset_front_offset;
|
poly_offset_back_offset = poly_offset_front_offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// With non-square resolution scaling, make sure the worst-case impact is
|
||||||
|
// reverted (slope only along the scaled axis), thus max. More bias is
|
||||||
|
// better than less bias, because less bias means Z fighting with the
|
||||||
|
// background is more likely.
|
||||||
float poly_offset_scale_factor =
|
float poly_offset_scale_factor =
|
||||||
xenos::kPolygonOffsetScaleSubpixelUnit * resolution_scale;
|
xenos::kPolygonOffsetScaleSubpixelUnit *
|
||||||
|
std::max(resolution_scale_x, resolution_scale_y);
|
||||||
poly_offset_front_scale *= poly_offset_scale_factor;
|
poly_offset_front_scale *= poly_offset_scale_factor;
|
||||||
poly_offset_back_scale *= poly_offset_scale_factor;
|
poly_offset_back_scale *= poly_offset_scale_factor;
|
||||||
dirty |= system_constants_.edram_poly_offset_front_scale !=
|
dirty |= system_constants_.edram_poly_offset_front_scale !=
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
#ifndef XENIA_GPU_D3D12_D3D12_COMMAND_PROCESSOR_H_
|
#ifndef XENIA_GPU_D3D12_D3D12_COMMAND_PROCESSOR_H_
|
||||||
#define XENIA_GPU_D3D12_D3D12_COMMAND_PROCESSOR_H_
|
#define XENIA_GPU_D3D12_D3D12_COMMAND_PROCESSOR_H_
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
@ -509,7 +510,14 @@ class D3D12CommandProcessor : public CommandProcessor {
|
||||||
static constexpr uint32_t kSwapTextureWidth = 1280;
|
static constexpr uint32_t kSwapTextureWidth = 1280;
|
||||||
static constexpr uint32_t kSwapTextureHeight = 720;
|
static constexpr uint32_t kSwapTextureHeight = 720;
|
||||||
std::pair<uint32_t, uint32_t> GetSwapTextureSize() const {
|
std::pair<uint32_t, uint32_t> GetSwapTextureSize() const {
|
||||||
uint32_t resolution_scale = texture_cache_->GetDrawResolutionScale();
|
return std::make_pair(
|
||||||
|
kSwapTextureWidth * texture_cache_->GetDrawResolutionScaleX(),
|
||||||
|
kSwapTextureHeight * texture_cache_->GetDrawResolutionScaleY());
|
||||||
|
}
|
||||||
|
std::pair<uint32_t, uint32_t> GetSwapScreenSize() const {
|
||||||
|
uint32_t resolution_scale =
|
||||||
|
std::max(texture_cache_->GetDrawResolutionScaleX(),
|
||||||
|
texture_cache_->GetDrawResolutionScaleY());
|
||||||
return std::make_pair(kSwapTextureWidth * resolution_scale,
|
return std::make_pair(kSwapTextureWidth * resolution_scale,
|
||||||
kSwapTextureHeight * resolution_scale);
|
kSwapTextureHeight * resolution_scale);
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -60,7 +60,8 @@ class D3D12RenderTargetCache final : public RenderTargetCache {
|
||||||
|
|
||||||
Path GetPath() const override { return path_; }
|
Path GetPath() const override { return path_; }
|
||||||
|
|
||||||
uint32_t GetResolutionScale() const override { return resolution_scale_; }
|
uint32_t GetResolutionScaleX() const override { return resolution_scale_x_; }
|
||||||
|
uint32_t GetResolutionScaleY() const override { return resolution_scale_y_; }
|
||||||
|
|
||||||
bool Update(bool is_rasterization_done,
|
bool Update(bool is_rasterization_done,
|
||||||
uint32_t shader_writes_color_targets) override;
|
uint32_t shader_writes_color_targets) override;
|
||||||
|
@ -249,7 +250,8 @@ class D3D12RenderTargetCache final : public RenderTargetCache {
|
||||||
bool bindless_resources_used_;
|
bool bindless_resources_used_;
|
||||||
|
|
||||||
Path path_ = Path::kHostRenderTargets;
|
Path path_ = Path::kHostRenderTargets;
|
||||||
uint32_t resolution_scale_ = 1;
|
uint32_t resolution_scale_x_ = 1;
|
||||||
|
uint32_t resolution_scale_y_ = 1;
|
||||||
|
|
||||||
// For host render targets, an EDRAM-sized scratch buffer for:
|
// For host render targets, an EDRAM-sized scratch buffer for:
|
||||||
// - Guest render target data copied from host render targets during copying
|
// - Guest render target data copied from host render targets during copying
|
||||||
|
@ -290,7 +292,13 @@ class D3D12RenderTargetCache final : public RenderTargetCache {
|
||||||
// Parameter 1 - destination (shared memory or a part of it).
|
// Parameter 1 - destination (shared memory or a part of it).
|
||||||
// Parameter 2 - source (EDRAM).
|
// Parameter 2 - source (EDRAM).
|
||||||
ID3D12RootSignature* resolve_copy_root_signature_ = nullptr;
|
ID3D12RootSignature* resolve_copy_root_signature_ = nullptr;
|
||||||
static const std::pair<const void*, size_t>
|
struct ResolveCopyShaderCode {
|
||||||
|
const void* unscaled;
|
||||||
|
size_t unscaled_size;
|
||||||
|
const void* scaled;
|
||||||
|
size_t scaled_size;
|
||||||
|
};
|
||||||
|
static const ResolveCopyShaderCode
|
||||||
kResolveCopyShaders[size_t(draw_util::ResolveCopyShaderIndex::kCount)];
|
kResolveCopyShaders[size_t(draw_util::ResolveCopyShaderIndex::kCount)];
|
||||||
ID3D12PipelineState* resolve_copy_pipelines_[size_t(
|
ID3D12PipelineState* resolve_copy_pipelines_[size_t(
|
||||||
draw_util::ResolveCopyShaderIndex::kCount)] = {};
|
draw_util::ResolveCopyShaderIndex::kCount)] = {};
|
||||||
|
@ -539,8 +547,8 @@ class D3D12RenderTargetCache final : public RenderTargetCache {
|
||||||
uint32_t constant;
|
uint32_t constant;
|
||||||
struct {
|
struct {
|
||||||
uint32_t pitch_tiles : xenos::kEdramPitchTilesBits;
|
uint32_t pitch_tiles : xenos::kEdramPitchTilesBits;
|
||||||
// 1 to 3.
|
uint32_t resolution_scale_x : 2;
|
||||||
uint32_t resolution_scale : 2;
|
uint32_t resolution_scale_y : 2;
|
||||||
// Whether 2x MSAA is supported natively rather than through 4x.
|
// Whether 2x MSAA is supported natively rather than through 4x.
|
||||||
uint32_t msaa_2x_supported : 1;
|
uint32_t msaa_2x_supported : 1;
|
||||||
};
|
};
|
||||||
|
@ -597,9 +605,7 @@ class D3D12RenderTargetCache final : public RenderTargetCache {
|
||||||
union DumpOffsets {
|
union DumpOffsets {
|
||||||
uint32_t offsets;
|
uint32_t offsets;
|
||||||
struct {
|
struct {
|
||||||
// Absolute index of the first thread group's tile within the source
|
uint32_t dispatch_first_tile : xenos::kEdramBaseTilesBits;
|
||||||
// texture.
|
|
||||||
uint32_t first_group_tile_source_relative : xenos::kEdramBaseTilesBits;
|
|
||||||
uint32_t source_base_tiles : xenos::kEdramBaseTilesBits;
|
uint32_t source_base_tiles : xenos::kEdramBaseTilesBits;
|
||||||
};
|
};
|
||||||
DumpOffsets() : offsets(0) { static_assert_size(*this, sizeof(offsets)); }
|
DumpOffsets() : offsets(0) { static_assert_size(*this, sizeof(offsets)); }
|
||||||
|
@ -615,8 +621,8 @@ class D3D12RenderTargetCache final : public RenderTargetCache {
|
||||||
uint32_t pitches;
|
uint32_t pitches;
|
||||||
struct {
|
struct {
|
||||||
// Both in tiles.
|
// Both in tiles.
|
||||||
uint32_t source_pitch : xenos::kEdramPitchTilesBits;
|
|
||||||
uint32_t dest_pitch : xenos::kEdramPitchTilesBits;
|
uint32_t dest_pitch : xenos::kEdramPitchTilesBits;
|
||||||
|
uint32_t source_pitch : xenos::kEdramPitchTilesBits;
|
||||||
};
|
};
|
||||||
DumpPitches() : pitches(0) { static_assert_size(*this, sizeof(pitches)); }
|
DumpPitches() : pitches(0) { static_assert_size(*this, sizeof(pitches)); }
|
||||||
bool operator==(const DumpPitches& other_pitches) const {
|
bool operator==(const DumpPitches& other_pitches) const {
|
||||||
|
@ -830,9 +836,6 @@ class D3D12RenderTargetCache final : public RenderTargetCache {
|
||||||
|
|
||||||
// For rasterizer-ordered view (pixel shader interlock).
|
// For rasterizer-ordered view (pixel shader interlock).
|
||||||
|
|
||||||
static const std::pair<const void*, size_t> kResolveROVClear32bppShaders[3];
|
|
||||||
static const std::pair<const void*, size_t> kResolveROVClear64bppShaders[3];
|
|
||||||
|
|
||||||
ID3D12RootSignature* resolve_rov_clear_root_signature_ = nullptr;
|
ID3D12RootSignature* resolve_rov_clear_root_signature_ = nullptr;
|
||||||
// Clearing 32bpp color or depth.
|
// Clearing 32bpp color or depth.
|
||||||
ID3D12PipelineState* resolve_rov_clear_32bpp_pipeline_ = nullptr;
|
ID3D12PipelineState* resolve_rov_clear_32bpp_pipeline_ = nullptr;
|
||||||
|
|
|
@ -96,7 +96,8 @@ PipelineCache::PipelineCache(D3D12CommandProcessor& command_processor,
|
||||||
provider.GetAdapterVendorID(), bindless_resources_used_, edram_rov_used,
|
provider.GetAdapterVendorID(), bindless_resources_used_, edram_rov_used,
|
||||||
render_target_cache_.gamma_render_target_as_srgb(),
|
render_target_cache_.gamma_render_target_as_srgb(),
|
||||||
render_target_cache_.msaa_2x_supported(),
|
render_target_cache_.msaa_2x_supported(),
|
||||||
render_target_cache_.GetResolutionScale(),
|
render_target_cache_.GetResolutionScaleX(),
|
||||||
|
render_target_cache_.GetResolutionScaleY(),
|
||||||
provider.GetGraphicsAnalysis() != nullptr);
|
provider.GetGraphicsAnalysis() != nullptr);
|
||||||
|
|
||||||
if (edram_rov_used) {
|
if (edram_rov_used) {
|
||||||
|
@ -419,7 +420,8 @@ void PipelineCache::InitializeShaderStorage(
|
||||||
provider.GetAdapterVendorID(), bindless_resources_used_,
|
provider.GetAdapterVendorID(), bindless_resources_used_,
|
||||||
edram_rov_used, render_target_cache_.gamma_render_target_as_srgb(),
|
edram_rov_used, render_target_cache_.gamma_render_target_as_srgb(),
|
||||||
render_target_cache_.msaa_2x_supported(),
|
render_target_cache_.msaa_2x_supported(),
|
||||||
render_target_cache_.GetResolutionScale(),
|
render_target_cache_.GetResolutionScaleX(),
|
||||||
|
render_target_cache_.GetResolutionScaleY(),
|
||||||
provider.GetGraphicsAnalysis() != nullptr);
|
provider.GetGraphicsAnalysis() != nullptr);
|
||||||
// If needed and possible, create objects needed for DXIL conversion and
|
// If needed and possible, create objects needed for DXIL conversion and
|
||||||
// disassembly on this thread.
|
// disassembly on this thread.
|
||||||
|
@ -1879,9 +1881,14 @@ ID3D12PipelineState* PipelineCache::CreateD3D12Pipeline(
|
||||||
description.front_counter_clockwise ? TRUE : FALSE;
|
description.front_counter_clockwise ? TRUE : FALSE;
|
||||||
state_desc.RasterizerState.DepthBias = description.depth_bias;
|
state_desc.RasterizerState.DepthBias = description.depth_bias;
|
||||||
state_desc.RasterizerState.DepthBiasClamp = 0.0f;
|
state_desc.RasterizerState.DepthBiasClamp = 0.0f;
|
||||||
|
// With non-square resolution scaling, make sure the worst-case impact is
|
||||||
|
// reverted (slope only along the scaled axis), thus max. More bias is better
|
||||||
|
// than less bias, because less bias means Z fighting with the background is
|
||||||
|
// more likely.
|
||||||
state_desc.RasterizerState.SlopeScaledDepthBias =
|
state_desc.RasterizerState.SlopeScaledDepthBias =
|
||||||
description.depth_bias_slope_scaled *
|
description.depth_bias_slope_scaled *
|
||||||
float(render_target_cache_.GetResolutionScale());
|
float(std::max(render_target_cache_.GetResolutionScaleX(),
|
||||||
|
render_target_cache_.GetResolutionScaleY()));
|
||||||
state_desc.RasterizerState.DepthClipEnable =
|
state_desc.RasterizerState.DepthClipEnable =
|
||||||
description.depth_clip ? TRUE : FALSE;
|
description.depth_clip ? TRUE : FALSE;
|
||||||
uint32_t msaa_sample_count = uint32_t(1)
|
uint32_t msaa_sample_count = uint32_t(1)
|
||||||
|
|
|
@ -51,8 +51,8 @@ DEFINE_uint32(
|
||||||
"If texture_cache_memory_limit_soft, for instance, is 384, and this is 24, "
|
"If texture_cache_memory_limit_soft, for instance, is 384, and this is 24, "
|
||||||
"it will be assumed that the game will be using roughly 24 MB of "
|
"it will be assumed that the game will be using roughly 24 MB of "
|
||||||
"render-to-texture (resolve) targets and 384 - 24 = 360 MB of regular "
|
"render-to-texture (resolve) targets and 384 - 24 = 360 MB of regular "
|
||||||
"textures - so with 2x resolution scaling, the soft limit will be 360 + 96 "
|
"textures - so with 2x2 resolution scaling, the soft limit will be 360 + "
|
||||||
"MB, and with 3x, it will be 360 + 216 MB.",
|
"96 MB, and with 3x3, it will be 360 + 216 MB.",
|
||||||
"GPU");
|
"GPU");
|
||||||
|
|
||||||
namespace xe {
|
namespace xe {
|
||||||
|
@ -61,28 +61,21 @@ namespace d3d12 {
|
||||||
|
|
||||||
// Generated with `xb buildshaders`.
|
// Generated with `xb buildshaders`.
|
||||||
namespace shaders {
|
namespace shaders {
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_128bpb_2x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_128bpb_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_128bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_128bpb_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_16bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_128bpb_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_16bpb_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_16bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_16bpb_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_32bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_16bpb_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_32bpb_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_32bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_32bpb_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_32bpb_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_64bpb_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_cs.h"
|
||||||
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_8bpb_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_ctx1_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_ctx1_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_2x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_float_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_cs.h"
|
||||||
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxn_rg8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxn_rg8_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt1_rgba8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt1_rgba8_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3_rgba8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3_rgba8_cs.h"
|
||||||
|
@ -90,30 +83,22 @@ namespace shaders {
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3aas1111_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt3aas1111_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5_rgba8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5_rgba8_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5a_r8_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_dxt5a_r8_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_2x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r10g11b11_rgba16_snorm_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_snorm_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_snorm_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_snorm_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_snorm_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r4g4b4a4_b4g4r4a4_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r11g11b10_rgba16_snorm_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r4g4b4a4_b4g4r4a4_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r4g4b4a4_b4g4r4a4_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r4g4b4a4_b4g4r4a4_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b5a1_b5g5r5a1_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r4g4b4a4_b4g4r4a4_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b5a1_b5g5r5a1_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b5a1_b5g5r5a1_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b5a1_b5g5r5a1_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b6_b5g6r5_swizzle_rbga_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b5a1_b5g5r5a1_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b6_b5g6r5_swizzle_rbga_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g6b5_b5g6r5_2x_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g5b6_b5g6r5_swizzle_rbga_scaled_cs.h"
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g6b5_b5g6r5_3x_cs.h"
|
|
||||||
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g6b5_b5g6r5_cs.h"
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g6b5_b5g6r5_cs.h"
|
||||||
|
#include "xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_r5g6b5_b5g6r5_scaled_cs.h"
|
||||||
} // namespace shaders
|
} // namespace shaders
|
||||||
|
|
||||||
// For formats with less than 4 components, assuming the last component is
|
// For formats with less than 4 components, assuming the last component is
|
||||||
|
@ -789,146 +774,96 @@ const char* const TextureCache::dimension_names_[4] = {"1D", "2D", "3D",
|
||||||
"cube"};
|
"cube"};
|
||||||
|
|
||||||
const TextureCache::LoadModeInfo TextureCache::load_mode_info_[] = {
|
const TextureCache::LoadModeInfo TextureCache::load_mode_info_[] = {
|
||||||
{{{shaders::texture_load_8bpb_cs, sizeof(shaders::texture_load_8bpb_cs), 3,
|
{shaders::texture_load_8bpb_cs, sizeof(shaders::texture_load_8bpb_cs),
|
||||||
4, 16},
|
shaders::texture_load_8bpb_scaled_cs,
|
||||||
{shaders::texture_load_8bpb_2x_cs,
|
sizeof(shaders::texture_load_8bpb_scaled_cs), 3, 4, 16},
|
||||||
sizeof(shaders::texture_load_8bpb_2x_cs), 4, 4, 16 * 2},
|
{shaders::texture_load_16bpb_cs, sizeof(shaders::texture_load_16bpb_cs),
|
||||||
{shaders::texture_load_8bpb_3x_cs,
|
shaders::texture_load_16bpb_scaled_cs,
|
||||||
sizeof(shaders::texture_load_8bpb_3x_cs), 3, 3, 16 * 3}}},
|
sizeof(shaders::texture_load_16bpb_scaled_cs), 4, 4, 16},
|
||||||
{{{shaders::texture_load_16bpb_cs, sizeof(shaders::texture_load_16bpb_cs),
|
{shaders::texture_load_32bpb_cs, sizeof(shaders::texture_load_32bpb_cs),
|
||||||
4, 4, 16},
|
shaders::texture_load_32bpb_scaled_cs,
|
||||||
{shaders::texture_load_16bpb_2x_cs,
|
sizeof(shaders::texture_load_32bpb_scaled_cs), 4, 4, 8},
|
||||||
sizeof(shaders::texture_load_16bpb_2x_cs), 4, 4, 16 * 2},
|
{shaders::texture_load_64bpb_cs, sizeof(shaders::texture_load_64bpb_cs),
|
||||||
{shaders::texture_load_16bpb_3x_cs,
|
shaders::texture_load_64bpb_scaled_cs,
|
||||||
sizeof(shaders::texture_load_16bpb_3x_cs), 3, 3, 16 * 3}}},
|
sizeof(shaders::texture_load_64bpb_scaled_cs), 4, 4, 4},
|
||||||
{{{shaders::texture_load_32bpb_cs, sizeof(shaders::texture_load_32bpb_cs),
|
{shaders::texture_load_128bpb_cs, sizeof(shaders::texture_load_128bpb_cs),
|
||||||
4, 4, 8},
|
shaders::texture_load_128bpb_scaled_cs,
|
||||||
{shaders::texture_load_32bpb_2x_cs,
|
sizeof(shaders::texture_load_128bpb_scaled_cs), 4, 4, 2},
|
||||||
sizeof(shaders::texture_load_32bpb_2x_cs), 4, 4, 8 * 2},
|
{shaders::texture_load_r5g5b5a1_b5g5r5a1_cs,
|
||||||
{shaders::texture_load_32bpb_3x_cs,
|
sizeof(shaders::texture_load_r5g5b5a1_b5g5r5a1_cs),
|
||||||
sizeof(shaders::texture_load_32bpb_3x_cs), 3, 3, 2 * 3}}},
|
shaders::texture_load_r5g5b5a1_b5g5r5a1_scaled_cs,
|
||||||
{{{shaders::texture_load_64bpb_cs, sizeof(shaders::texture_load_64bpb_cs),
|
sizeof(shaders::texture_load_r5g5b5a1_b5g5r5a1_scaled_cs), 4, 4, 16},
|
||||||
4, 4, 4},
|
{shaders::texture_load_r5g6b5_b5g6r5_cs,
|
||||||
{shaders::texture_load_64bpb_2x_cs,
|
sizeof(shaders::texture_load_r5g6b5_b5g6r5_cs),
|
||||||
sizeof(shaders::texture_load_64bpb_2x_cs), 4, 4, 4 * 2},
|
shaders::texture_load_r5g6b5_b5g6r5_scaled_cs,
|
||||||
{shaders::texture_load_64bpb_3x_cs,
|
sizeof(shaders::texture_load_r5g6b5_b5g6r5_scaled_cs), 4, 4, 16},
|
||||||
sizeof(shaders::texture_load_64bpb_3x_cs), 3, 3, 4 * 3}}},
|
{shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs,
|
||||||
{{{shaders::texture_load_128bpb_cs, sizeof(shaders::texture_load_128bpb_cs),
|
sizeof(shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs),
|
||||||
4, 4, 2},
|
shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_scaled_cs,
|
||||||
{shaders::texture_load_128bpb_2x_cs,
|
sizeof(shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_scaled_cs), 4, 4,
|
||||||
sizeof(shaders::texture_load_128bpb_2x_cs), 4, 4, 2 * 2},
|
16},
|
||||||
{shaders::texture_load_128bpb_3x_cs,
|
{shaders::texture_load_r4g4b4a4_b4g4r4a4_cs,
|
||||||
sizeof(shaders::texture_load_128bpb_3x_cs), 4, 4, 2 * 3}}},
|
sizeof(shaders::texture_load_r4g4b4a4_b4g4r4a4_cs),
|
||||||
{{{shaders::texture_load_r5g5b5a1_b5g5r5a1_cs,
|
shaders::texture_load_r4g4b4a4_b4g4r4a4_scaled_cs,
|
||||||
sizeof(shaders::texture_load_r5g5b5a1_b5g5r5a1_cs), 4, 4, 16},
|
sizeof(shaders::texture_load_r4g4b4a4_b4g4r4a4_scaled_cs), 4, 4, 16},
|
||||||
{shaders::texture_load_r5g5b5a1_b5g5r5a1_2x_cs,
|
{shaders::texture_load_r10g11b11_rgba16_cs,
|
||||||
sizeof(shaders::texture_load_r5g5b5a1_b5g5r5a1_2x_cs), 4, 4, 16 * 2},
|
sizeof(shaders::texture_load_r10g11b11_rgba16_cs),
|
||||||
{shaders::texture_load_r5g5b5a1_b5g5r5a1_3x_cs,
|
shaders::texture_load_r10g11b11_rgba16_scaled_cs,
|
||||||
sizeof(shaders::texture_load_r5g5b5a1_b5g5r5a1_3x_cs), 3, 3, 16 * 3}}},
|
sizeof(shaders::texture_load_r10g11b11_rgba16_scaled_cs), 4, 4, 8},
|
||||||
{{{shaders::texture_load_r5g6b5_b5g6r5_cs,
|
{shaders::texture_load_r10g11b11_rgba16_snorm_cs,
|
||||||
sizeof(shaders::texture_load_r5g6b5_b5g6r5_cs), 4, 4, 16},
|
sizeof(shaders::texture_load_r10g11b11_rgba16_snorm_cs),
|
||||||
{shaders::texture_load_r5g6b5_b5g6r5_2x_cs,
|
shaders::texture_load_r10g11b11_rgba16_snorm_scaled_cs,
|
||||||
sizeof(shaders::texture_load_r5g6b5_b5g6r5_2x_cs), 4, 4, 16 * 2},
|
sizeof(shaders::texture_load_r10g11b11_rgba16_snorm_scaled_cs), 4, 4, 8},
|
||||||
{shaders::texture_load_r5g6b5_b5g6r5_3x_cs,
|
{shaders::texture_load_r11g11b10_rgba16_cs,
|
||||||
sizeof(shaders::texture_load_r5g6b5_b5g6r5_3x_cs), 3, 3, 16 * 3}}},
|
sizeof(shaders::texture_load_r11g11b10_rgba16_cs),
|
||||||
{{{shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs,
|
shaders::texture_load_r11g11b10_rgba16_scaled_cs,
|
||||||
sizeof(shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_cs), 4, 4, 16},
|
sizeof(shaders::texture_load_r11g11b10_rgba16_scaled_cs), 4, 4, 8},
|
||||||
{shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_2x_cs,
|
{shaders::texture_load_r11g11b10_rgba16_snorm_cs,
|
||||||
sizeof(shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_2x_cs), 4, 4,
|
sizeof(shaders::texture_load_r11g11b10_rgba16_snorm_cs),
|
||||||
16 * 2},
|
shaders::texture_load_r11g11b10_rgba16_snorm_scaled_cs,
|
||||||
{shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_3x_cs,
|
sizeof(shaders::texture_load_r11g11b10_rgba16_snorm_scaled_cs), 4, 4, 8},
|
||||||
sizeof(shaders::texture_load_r5g5b6_b5g6r5_swizzle_rbga_3x_cs), 3, 3,
|
{shaders::texture_load_dxt1_rgba8_cs,
|
||||||
16 * 3}}},
|
sizeof(shaders::texture_load_dxt1_rgba8_cs), nullptr, 0, 4, 4, 4},
|
||||||
{{{shaders::texture_load_r4g4b4a4_b4g4r4a4_cs,
|
{shaders::texture_load_dxt3_rgba8_cs,
|
||||||
sizeof(shaders::texture_load_r4g4b4a4_b4g4r4a4_cs), 4, 4, 16},
|
sizeof(shaders::texture_load_dxt3_rgba8_cs), nullptr, 0, 4, 4, 2},
|
||||||
{shaders::texture_load_r4g4b4a4_b4g4r4a4_2x_cs,
|
{shaders::texture_load_dxt5_rgba8_cs,
|
||||||
sizeof(shaders::texture_load_r4g4b4a4_b4g4r4a4_2x_cs), 4, 4, 16 * 2},
|
sizeof(shaders::texture_load_dxt5_rgba8_cs), nullptr, 0, 4, 4, 2},
|
||||||
{shaders::texture_load_r4g4b4a4_b4g4r4a4_3x_cs,
|
{shaders::texture_load_dxn_rg8_cs, sizeof(shaders::texture_load_dxn_rg8_cs),
|
||||||
sizeof(shaders::texture_load_r4g4b4a4_b4g4r4a4_3x_cs), 3, 3, 16 * 3}}},
|
nullptr, 0, 4, 4, 2},
|
||||||
{{{shaders::texture_load_r10g11b11_rgba16_cs,
|
{shaders::texture_load_dxt3a_cs, sizeof(shaders::texture_load_dxt3a_cs),
|
||||||
sizeof(shaders::texture_load_r10g11b11_rgba16_cs), 4, 4, 8},
|
nullptr, 0, 4, 4, 4},
|
||||||
{shaders::texture_load_r10g11b11_rgba16_2x_cs,
|
{shaders::texture_load_dxt3aas1111_cs,
|
||||||
sizeof(shaders::texture_load_r10g11b11_rgba16_2x_cs), 4, 4, 8 * 2},
|
sizeof(shaders::texture_load_dxt3aas1111_cs), nullptr, 0, 4, 4, 4},
|
||||||
{shaders::texture_load_r10g11b11_rgba16_3x_cs,
|
{shaders::texture_load_dxt5a_r8_cs,
|
||||||
sizeof(shaders::texture_load_r10g11b11_rgba16_3x_cs), 3, 3, 2 * 3}}},
|
sizeof(shaders::texture_load_dxt5a_r8_cs), nullptr, 0, 4, 4, 4},
|
||||||
{{{shaders::texture_load_r10g11b11_rgba16_snorm_cs,
|
{shaders::texture_load_ctx1_cs, sizeof(shaders::texture_load_ctx1_cs),
|
||||||
sizeof(shaders::texture_load_r10g11b11_rgba16_snorm_cs), 4, 4, 8},
|
nullptr, 0, 4, 4, 4},
|
||||||
{shaders::texture_load_r10g11b11_rgba16_snorm_2x_cs,
|
{shaders::texture_load_depth_unorm_cs,
|
||||||
sizeof(shaders::texture_load_r10g11b11_rgba16_snorm_2x_cs), 4, 4, 8 * 2},
|
sizeof(shaders::texture_load_depth_unorm_cs),
|
||||||
{shaders::texture_load_r10g11b11_rgba16_snorm_3x_cs,
|
shaders::texture_load_depth_unorm_scaled_cs,
|
||||||
sizeof(shaders::texture_load_r10g11b11_rgba16_snorm_3x_cs), 3, 3,
|
sizeof(shaders::texture_load_depth_unorm_scaled_cs), 4, 4, 8},
|
||||||
2 * 3}}},
|
{shaders::texture_load_depth_float_cs,
|
||||||
{{{shaders::texture_load_r11g11b10_rgba16_cs,
|
sizeof(shaders::texture_load_depth_float_cs),
|
||||||
sizeof(shaders::texture_load_r11g11b10_rgba16_cs), 4, 4, 8},
|
shaders::texture_load_depth_float_scaled_cs,
|
||||||
{shaders::texture_load_r11g11b10_rgba16_2x_cs,
|
sizeof(shaders::texture_load_depth_float_scaled_cs), 4, 4, 8},
|
||||||
sizeof(shaders::texture_load_r11g11b10_rgba16_2x_cs), 4, 4, 8 * 2},
|
|
||||||
{shaders::texture_load_r11g11b10_rgba16_3x_cs,
|
|
||||||
sizeof(shaders::texture_load_r11g11b10_rgba16_3x_cs), 3, 3, 2 * 3}}},
|
|
||||||
{{{shaders::texture_load_r11g11b10_rgba16_snorm_cs,
|
|
||||||
sizeof(shaders::texture_load_r11g11b10_rgba16_snorm_cs), 4, 4, 8},
|
|
||||||
{shaders::texture_load_r11g11b10_rgba16_snorm_2x_cs,
|
|
||||||
sizeof(shaders::texture_load_r11g11b10_rgba16_snorm_2x_cs), 4, 4, 8 * 2},
|
|
||||||
{shaders::texture_load_r11g11b10_rgba16_snorm_3x_cs,
|
|
||||||
sizeof(shaders::texture_load_r11g11b10_rgba16_snorm_3x_cs), 3, 3,
|
|
||||||
2 * 3}}},
|
|
||||||
{{{shaders::texture_load_dxt1_rgba8_cs,
|
|
||||||
sizeof(shaders::texture_load_dxt1_rgba8_cs), 4, 4, 4},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_dxt3_rgba8_cs,
|
|
||||||
sizeof(shaders::texture_load_dxt3_rgba8_cs), 4, 4, 2},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_dxt5_rgba8_cs,
|
|
||||||
sizeof(shaders::texture_load_dxt5_rgba8_cs), 4, 4, 2},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_dxn_rg8_cs,
|
|
||||||
sizeof(shaders::texture_load_dxn_rg8_cs), 4, 4, 2},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_dxt3a_cs, sizeof(shaders::texture_load_dxt3a_cs),
|
|
||||||
4, 4, 4},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_dxt3aas1111_cs,
|
|
||||||
sizeof(shaders::texture_load_dxt3aas1111_cs), 4, 4, 4},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_dxt5a_r8_cs,
|
|
||||||
sizeof(shaders::texture_load_dxt5a_r8_cs), 4, 4, 4},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_ctx1_cs, sizeof(shaders::texture_load_ctx1_cs), 4,
|
|
||||||
4, 4},
|
|
||||||
{},
|
|
||||||
{}}},
|
|
||||||
{{{shaders::texture_load_depth_unorm_cs,
|
|
||||||
sizeof(shaders::texture_load_depth_unorm_cs), 4, 4, 8},
|
|
||||||
{shaders::texture_load_depth_unorm_2x_cs,
|
|
||||||
sizeof(shaders::texture_load_depth_unorm_2x_cs), 4, 4, 8 * 2},
|
|
||||||
{shaders::texture_load_depth_unorm_3x_cs,
|
|
||||||
sizeof(shaders::texture_load_depth_unorm_3x_cs), 3, 3, 2 * 3}}},
|
|
||||||
{{{shaders::texture_load_depth_float_cs,
|
|
||||||
sizeof(shaders::texture_load_depth_float_cs), 4, 4, 8},
|
|
||||||
{shaders::texture_load_depth_float_2x_cs,
|
|
||||||
sizeof(shaders::texture_load_depth_float_2x_cs), 4, 4, 8 * 2},
|
|
||||||
{shaders::texture_load_depth_float_3x_cs,
|
|
||||||
sizeof(shaders::texture_load_depth_float_3x_cs), 3, 3, 2 * 3}}},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TextureCache::TextureCache(D3D12CommandProcessor& command_processor,
|
TextureCache::TextureCache(D3D12CommandProcessor& command_processor,
|
||||||
const RegisterFile& register_file,
|
const RegisterFile& register_file,
|
||||||
D3D12SharedMemory& shared_memory,
|
D3D12SharedMemory& shared_memory,
|
||||||
bool bindless_resources_used,
|
bool bindless_resources_used,
|
||||||
uint32_t draw_resolution_scale)
|
uint32_t draw_resolution_scale_x,
|
||||||
|
uint32_t draw_resolution_scale_y)
|
||||||
: command_processor_(command_processor),
|
: command_processor_(command_processor),
|
||||||
register_file_(register_file),
|
register_file_(register_file),
|
||||||
shared_memory_(shared_memory),
|
shared_memory_(shared_memory),
|
||||||
bindless_resources_used_(bindless_resources_used),
|
bindless_resources_used_(bindless_resources_used),
|
||||||
draw_resolution_scale_(draw_resolution_scale) {
|
draw_resolution_scale_x_(draw_resolution_scale_x),
|
||||||
assert_true(draw_resolution_scale >= 1);
|
draw_resolution_scale_y_(draw_resolution_scale_y) {
|
||||||
assert_true(draw_resolution_scale <= 3);
|
assert_true(draw_resolution_scale_x >= 1);
|
||||||
|
assert_true(draw_resolution_scale_x <= kMaxDrawResolutionScaleAlongAxis);
|
||||||
|
assert_true(draw_resolution_scale_y >= 1);
|
||||||
|
assert_true(draw_resolution_scale_y <= kMaxDrawResolutionScaleAlongAxis);
|
||||||
}
|
}
|
||||||
|
|
||||||
TextureCache::~TextureCache() { Shutdown(); }
|
TextureCache::~TextureCache() { Shutdown(); }
|
||||||
|
@ -937,8 +872,7 @@ bool TextureCache::Initialize() {
|
||||||
auto& provider = command_processor_.GetD3D12Context().GetD3D12Provider();
|
auto& provider = command_processor_.GetD3D12Context().GetD3D12Provider();
|
||||||
auto device = provider.GetDevice();
|
auto device = provider.GetDevice();
|
||||||
|
|
||||||
if (draw_resolution_scale_ > 1) {
|
if (IsDrawResolutionScaled()) {
|
||||||
assert_true(draw_resolution_scale_ <= GetMaxDrawResolutionScale(provider));
|
|
||||||
// Buffers not used yet - no need aliasing barriers to change ownership of
|
// Buffers not used yet - no need aliasing barriers to change ownership of
|
||||||
// gigabytes between even and odd buffers.
|
// gigabytes between even and odd buffers.
|
||||||
std::memset(scaled_resolve_1gb_buffer_indices_, UINT8_MAX,
|
std::memset(scaled_resolve_1gb_buffer_indices_, UINT8_MAX,
|
||||||
|
@ -946,7 +880,7 @@ bool TextureCache::Initialize() {
|
||||||
assert_true(scaled_resolve_heaps_.empty());
|
assert_true(scaled_resolve_heaps_.empty());
|
||||||
uint64_t scaled_resolve_address_space_size =
|
uint64_t scaled_resolve_address_space_size =
|
||||||
uint64_t(SharedMemory::kBufferSize) *
|
uint64_t(SharedMemory::kBufferSize) *
|
||||||
(draw_resolution_scale_ * draw_resolution_scale_);
|
(draw_resolution_scale_x_ * draw_resolution_scale_y_);
|
||||||
scaled_resolve_heaps_.resize(size_t(scaled_resolve_address_space_size >>
|
scaled_resolve_heaps_.resize(size_t(scaled_resolve_address_space_size >>
|
||||||
kScaledResolveHeapSizeLog2));
|
kScaledResolveHeapSizeLog2));
|
||||||
constexpr uint32_t kScaledResolvePageDwordCount =
|
constexpr uint32_t kScaledResolvePageDwordCount =
|
||||||
|
@ -1006,9 +940,9 @@ bool TextureCache::Initialize() {
|
||||||
|
|
||||||
// Create the loading pipelines.
|
// Create the loading pipelines.
|
||||||
for (uint32_t i = 0; i < uint32_t(LoadMode::kCount); ++i) {
|
for (uint32_t i = 0; i < uint32_t(LoadMode::kCount); ++i) {
|
||||||
const LoadModeInfo& mode_info = load_mode_info_[i];
|
const LoadModeInfo& load_mode_info = load_mode_info_[i];
|
||||||
load_pipelines_[i] = ui::d3d12::util::CreateComputePipeline(
|
load_pipelines_[i] = ui::d3d12::util::CreateComputePipeline(
|
||||||
device, mode_info.shaders[0].shader, mode_info.shaders[0].shader_size,
|
device, load_mode_info.shader, load_mode_info.shader_size,
|
||||||
load_root_signature_);
|
load_root_signature_);
|
||||||
if (load_pipelines_[i] == nullptr) {
|
if (load_pipelines_[i] == nullptr) {
|
||||||
XELOGE(
|
XELOGE(
|
||||||
|
@ -1018,21 +952,17 @@ bool TextureCache::Initialize() {
|
||||||
Shutdown();
|
Shutdown();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (draw_resolution_scale_ > 1) {
|
if (IsDrawResolutionScaled() && load_mode_info.shader_scaled) {
|
||||||
const LoadShaderInfo& scaled_load_shader_info =
|
load_pipelines_scaled_[i] = ui::d3d12::util::CreateComputePipeline(
|
||||||
mode_info.shaders[draw_resolution_scale_ - 1];
|
device, load_mode_info.shader_scaled,
|
||||||
if (scaled_load_shader_info.shader) {
|
load_mode_info.shader_scaled_size, load_root_signature_);
|
||||||
load_pipelines_scaled_[i] = ui::d3d12::util::CreateComputePipeline(
|
if (load_pipelines_scaled_[i] == nullptr) {
|
||||||
device, scaled_load_shader_info.shader,
|
XELOGE(
|
||||||
scaled_load_shader_info.shader_size, load_root_signature_);
|
"D3D12TextureCache: Failed to create the resolution-scaled texture "
|
||||||
if (load_pipelines_scaled_[i] == nullptr) {
|
"loading pipeline for mode {}",
|
||||||
XELOGE(
|
i);
|
||||||
"D3D12TextureCache: Failed to create the resolution-scaled "
|
Shutdown();
|
||||||
"texture loading pipeline for mode {}",
|
return false;
|
||||||
i);
|
|
||||||
Shutdown();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1096,7 +1026,7 @@ bool TextureCache::Initialize() {
|
||||||
provider.OffsetViewDescriptor(null_srv_descriptor_heap_start_,
|
provider.OffsetViewDescriptor(null_srv_descriptor_heap_start_,
|
||||||
uint32_t(NullSRVDescriptorIndex::kCube)));
|
uint32_t(NullSRVDescriptorIndex::kCube)));
|
||||||
|
|
||||||
if (draw_resolution_scale_ > 1) {
|
if (IsDrawResolutionScaled()) {
|
||||||
scaled_resolve_global_watch_handle_ = shared_memory_.RegisterGlobalWatch(
|
scaled_resolve_global_watch_handle_ = shared_memory_.RegisterGlobalWatch(
|
||||||
ScaledResolveGlobalWatchCallbackThunk, this);
|
ScaledResolveGlobalWatchCallbackThunk, this);
|
||||||
}
|
}
|
||||||
|
@ -1183,7 +1113,7 @@ void TextureCache::TextureFetchConstantWritten(uint32_t index) {
|
||||||
|
|
||||||
void TextureCache::BeginSubmission() {
|
void TextureCache::BeginSubmission() {
|
||||||
// ExecuteCommandLists is a full UAV and aliasing barrier.
|
// ExecuteCommandLists is a full UAV and aliasing barrier.
|
||||||
if (draw_resolution_scale_ > 1) {
|
if (IsDrawResolutionScaled()) {
|
||||||
size_t scaled_resolve_buffer_count = GetScaledResolveBufferCount();
|
size_t scaled_resolve_buffer_count = GetScaledResolveBufferCount();
|
||||||
for (size_t i = 0; i < scaled_resolve_buffer_count; ++i) {
|
for (size_t i = 0; i < scaled_resolve_buffer_count; ++i) {
|
||||||
ScaledResolveVirtualBuffer* scaled_resolve_buffer =
|
ScaledResolveVirtualBuffer* scaled_resolve_buffer =
|
||||||
|
@ -1215,7 +1145,7 @@ void TextureCache::BeginFrame() {
|
||||||
// so subtracting 1 from the scale.
|
// so subtracting 1 from the scale.
|
||||||
uint32_t limit_scaled_resolve_add_mb =
|
uint32_t limit_scaled_resolve_add_mb =
|
||||||
cvars::texture_cache_memory_limit_render_to_texture *
|
cvars::texture_cache_memory_limit_render_to_texture *
|
||||||
(draw_resolution_scale_ * draw_resolution_scale_ - 1);
|
(draw_resolution_scale_x_ * draw_resolution_scale_y_ - 1);
|
||||||
uint32_t limit_soft_mb =
|
uint32_t limit_soft_mb =
|
||||||
cvars::texture_cache_memory_limit_soft + limit_scaled_resolve_add_mb;
|
cvars::texture_cache_memory_limit_soft + limit_scaled_resolve_add_mb;
|
||||||
uint32_t limit_hard_mb =
|
uint32_t limit_hard_mb =
|
||||||
|
@ -1705,7 +1635,7 @@ void TextureCache::MarkRangeAsResolved(uint32_t start_unscaled,
|
||||||
start_unscaled &= 0x1FFFFFFF;
|
start_unscaled &= 0x1FFFFFFF;
|
||||||
length_unscaled = std::min(length_unscaled, 0x20000000 - start_unscaled);
|
length_unscaled = std::min(length_unscaled, 0x20000000 - start_unscaled);
|
||||||
|
|
||||||
if (draw_resolution_scale_ > 1) {
|
if (IsDrawResolutionScaled()) {
|
||||||
uint32_t page_first = start_unscaled >> 12;
|
uint32_t page_first = start_unscaled >> 12;
|
||||||
uint32_t page_last = (start_unscaled + length_unscaled - 1) >> 12;
|
uint32_t page_last = (start_unscaled + length_unscaled - 1) >> 12;
|
||||||
uint32_t block_first = page_first >> 5;
|
uint32_t block_first = page_first >> 5;
|
||||||
|
@ -1729,9 +1659,43 @@ void TextureCache::MarkRangeAsResolved(uint32_t start_unscaled,
|
||||||
shared_memory_.RangeWrittenByGpu(start_unscaled, length_unscaled, true);
|
shared_memory_.RangeWrittenByGpu(start_unscaled, length_unscaled, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextureCache::ClampDrawResolutionScaleToSupportedRange(
|
||||||
|
uint32_t& scale_x, uint32_t& scale_y,
|
||||||
|
const ui::d3d12::D3D12Provider& provider) {
|
||||||
|
if (provider.GetTiledResourcesTier() < D3D12_TILED_RESOURCES_TIER_1) {
|
||||||
|
scale_x = 1;
|
||||||
|
scale_y = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Ensure it's not zero.
|
||||||
|
scale_x = std::max(scale_x, uint32_t(1));
|
||||||
|
scale_y = std::max(scale_y, uint32_t(1));
|
||||||
|
scale_x = std::min(scale_x, kMaxDrawResolutionScaleAlongAxis);
|
||||||
|
scale_y = std::min(scale_y, kMaxDrawResolutionScaleAlongAxis);
|
||||||
|
// Limit to the virtual address space available for a resource.
|
||||||
|
uint32_t virtual_address_bits_per_resource =
|
||||||
|
provider.GetVirtualAddressBitsPerResource();
|
||||||
|
while (scale_x > 1 || scale_y > 1) {
|
||||||
|
uint64_t highest_scaled_address =
|
||||||
|
uint64_t(SharedMemory::kBufferSize) * (scale_x * scale_y) - 1;
|
||||||
|
if (uint32_t(64) - xe::lzcnt(highest_scaled_address) <=
|
||||||
|
virtual_address_bits_per_resource) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// When reducing from a square size, prefer decreasing the horizontal
|
||||||
|
// resolution as vertical resolution difference is visible more clearly in
|
||||||
|
// perspective.
|
||||||
|
if (scale_x >= scale_y) {
|
||||||
|
--scale_x;
|
||||||
|
} else {
|
||||||
|
--scale_y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool TextureCache::EnsureScaledResolveMemoryCommitted(
|
bool TextureCache::EnsureScaledResolveMemoryCommitted(
|
||||||
uint32_t start_unscaled, uint32_t length_unscaled) {
|
uint32_t start_unscaled, uint32_t length_unscaled) {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
|
|
||||||
if (length_unscaled == 0) {
|
if (length_unscaled == 0) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -1742,12 +1706,11 @@ bool TextureCache::EnsureScaledResolveMemoryCommitted(
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t draw_resolution_scale_square =
|
uint32_t draw_resolution_scale_area =
|
||||||
draw_resolution_scale_ * draw_resolution_scale_;
|
draw_resolution_scale_x_ * draw_resolution_scale_y_;
|
||||||
uint64_t first_scaled =
|
uint64_t first_scaled = uint64_t(start_unscaled) * draw_resolution_scale_area;
|
||||||
uint64_t(start_unscaled) * draw_resolution_scale_square;
|
|
||||||
uint64_t last_scaled = uint64_t(start_unscaled + (length_unscaled - 1)) *
|
uint64_t last_scaled = uint64_t(start_unscaled + (length_unscaled - 1)) *
|
||||||
draw_resolution_scale_square;
|
draw_resolution_scale_area;
|
||||||
|
|
||||||
auto& provider = command_processor_.GetD3D12Context().GetD3D12Provider();
|
auto& provider = command_processor_.GetD3D12Context().GetD3D12Provider();
|
||||||
auto device = provider.GetDevice();
|
auto device = provider.GetDevice();
|
||||||
|
@ -1773,7 +1736,7 @@ bool TextureCache::EnsureScaledResolveMemoryCommitted(
|
||||||
ui::d3d12::util::FillBufferResourceDesc(
|
ui::d3d12::util::FillBufferResourceDesc(
|
||||||
scaled_resolve_buffer_desc,
|
scaled_resolve_buffer_desc,
|
||||||
std::min(uint64_t(1) << 31, uint64_t(SharedMemory::kBufferSize) *
|
std::min(uint64_t(1) << 31, uint64_t(SharedMemory::kBufferSize) *
|
||||||
draw_resolution_scale_square -
|
draw_resolution_scale_area -
|
||||||
(uint64_t(i) << 30)),
|
(uint64_t(i) << 30)),
|
||||||
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS);
|
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS);
|
||||||
// The first access will be a resolve.
|
// The first access will be a resolve.
|
||||||
|
@ -1855,7 +1818,7 @@ bool TextureCache::EnsureScaledResolveMemoryCommitted(
|
||||||
|
|
||||||
bool TextureCache::MakeScaledResolveRangeCurrent(uint32_t start_unscaled,
|
bool TextureCache::MakeScaledResolveRangeCurrent(uint32_t start_unscaled,
|
||||||
uint32_t length_unscaled) {
|
uint32_t length_unscaled) {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
|
|
||||||
if (!length_unscaled || start_unscaled >= SharedMemory::kBufferSize ||
|
if (!length_unscaled || start_unscaled >= SharedMemory::kBufferSize ||
|
||||||
(SharedMemory::kBufferSize - start_unscaled) < length_unscaled) {
|
(SharedMemory::kBufferSize - start_unscaled) < length_unscaled) {
|
||||||
|
@ -1864,12 +1827,11 @@ bool TextureCache::MakeScaledResolveRangeCurrent(uint32_t start_unscaled,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t draw_resolution_scale_square =
|
uint32_t draw_resolution_scale_area =
|
||||||
draw_resolution_scale_ * draw_resolution_scale_;
|
draw_resolution_scale_x_ * draw_resolution_scale_y_;
|
||||||
uint64_t start_scaled =
|
uint64_t start_scaled = uint64_t(start_unscaled) * draw_resolution_scale_area;
|
||||||
uint64_t(start_unscaled) * draw_resolution_scale_square;
|
|
||||||
uint64_t length_scaled =
|
uint64_t length_scaled =
|
||||||
uint64_t(length_unscaled) * draw_resolution_scale_square;
|
uint64_t(length_unscaled) * draw_resolution_scale_area;
|
||||||
uint64_t last_scaled = start_scaled + (length_scaled - 1);
|
uint64_t last_scaled = start_scaled + (length_scaled - 1);
|
||||||
|
|
||||||
// Get one or two buffers that can hold the whole range.
|
// Get one or two buffers that can hold the whole range.
|
||||||
|
@ -1967,7 +1929,7 @@ bool TextureCache::MakeScaledResolveRangeCurrent(uint32_t start_unscaled,
|
||||||
|
|
||||||
void TextureCache::TransitionCurrentScaledResolveRange(
|
void TextureCache::TransitionCurrentScaledResolveRange(
|
||||||
D3D12_RESOURCE_STATES new_state) {
|
D3D12_RESOURCE_STATES new_state) {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
ScaledResolveVirtualBuffer& buffer = GetCurrentScaledResolveBuffer();
|
ScaledResolveVirtualBuffer& buffer = GetCurrentScaledResolveBuffer();
|
||||||
command_processor_.PushTransitionBarrier(
|
command_processor_.PushTransitionBarrier(
|
||||||
buffer.resource(), buffer.SetResourceState(new_state), new_state);
|
buffer.resource(), buffer.SetResourceState(new_state), new_state);
|
||||||
|
@ -1975,7 +1937,7 @@ void TextureCache::TransitionCurrentScaledResolveRange(
|
||||||
|
|
||||||
void TextureCache::CreateCurrentScaledResolveRangeUintPow2SRV(
|
void TextureCache::CreateCurrentScaledResolveRangeUintPow2SRV(
|
||||||
D3D12_CPU_DESCRIPTOR_HANDLE handle, uint32_t element_size_bytes_pow2) {
|
D3D12_CPU_DESCRIPTOR_HANDLE handle, uint32_t element_size_bytes_pow2) {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
size_t buffer_index = GetCurrentScaledResolveBufferIndex();
|
size_t buffer_index = GetCurrentScaledResolveBufferIndex();
|
||||||
const ScaledResolveVirtualBuffer* buffer =
|
const ScaledResolveVirtualBuffer* buffer =
|
||||||
scaled_resolve_2gb_buffers_[buffer_index];
|
scaled_resolve_2gb_buffers_[buffer_index];
|
||||||
|
@ -1993,7 +1955,7 @@ void TextureCache::CreateCurrentScaledResolveRangeUintPow2SRV(
|
||||||
|
|
||||||
void TextureCache::CreateCurrentScaledResolveRangeUintPow2UAV(
|
void TextureCache::CreateCurrentScaledResolveRangeUintPow2UAV(
|
||||||
D3D12_CPU_DESCRIPTOR_HANDLE handle, uint32_t element_size_bytes_pow2) {
|
D3D12_CPU_DESCRIPTOR_HANDLE handle, uint32_t element_size_bytes_pow2) {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
size_t buffer_index = GetCurrentScaledResolveBufferIndex();
|
size_t buffer_index = GetCurrentScaledResolveBufferIndex();
|
||||||
const ScaledResolveVirtualBuffer* buffer =
|
const ScaledResolveVirtualBuffer* buffer =
|
||||||
scaled_resolve_2gb_buffers_[buffer_index];
|
scaled_resolve_2gb_buffers_[buffer_index];
|
||||||
|
@ -2218,7 +2180,7 @@ void TextureCache::LogTextureAction(const Texture* texture,
|
||||||
|
|
||||||
TextureCache::Texture* TextureCache::FindOrCreateTexture(TextureKey key) {
|
TextureCache::Texture* TextureCache::FindOrCreateTexture(TextureKey key) {
|
||||||
// Check if the texture is a scaled resolve texture.
|
// Check if the texture is a scaled resolve texture.
|
||||||
if (draw_resolution_scale_ > 1 && key.tiled) {
|
if (IsDrawResolutionScaled() && key.tiled) {
|
||||||
LoadMode load_mode = GetLoadMode(key);
|
LoadMode load_mode = GetLoadMode(key);
|
||||||
if (load_mode != LoadMode::kUnknown &&
|
if (load_mode != LoadMode::kUnknown &&
|
||||||
load_pipelines_scaled_[uint32_t(load_mode)] != nullptr) {
|
load_pipelines_scaled_[uint32_t(load_mode)] != nullptr) {
|
||||||
|
@ -2242,8 +2204,8 @@ TextureCache::Texture* TextureCache::FindOrCreateTexture(TextureKey key) {
|
||||||
uint32_t host_width = key.width;
|
uint32_t host_width = key.width;
|
||||||
uint32_t host_height = key.height;
|
uint32_t host_height = key.height;
|
||||||
if (key.scaled_resolve) {
|
if (key.scaled_resolve) {
|
||||||
host_width *= draw_resolution_scale_;
|
host_width *= draw_resolution_scale_x_;
|
||||||
host_height *= draw_resolution_scale_;
|
host_height *= draw_resolution_scale_y_;
|
||||||
}
|
}
|
||||||
// With 3x resolution scaling, a 2D texture may become bigger than the
|
// With 3x resolution scaling, a 2D texture may become bigger than the
|
||||||
// Direct3D 11 limit, and with 2x, a 3D one as well.
|
// Direct3D 11 limit, and with 2x, a 3D one as well.
|
||||||
|
@ -2359,17 +2321,14 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
if (load_mode == LoadMode::kUnknown) {
|
if (load_mode == LoadMode::kUnknown) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
uint32_t texture_resolution_scale =
|
bool texture_resolution_scaled = texture->key.scaled_resolve;
|
||||||
texture->key.scaled_resolve ? draw_resolution_scale_ : 1;
|
|
||||||
ID3D12PipelineState* pipeline =
|
ID3D12PipelineState* pipeline =
|
||||||
texture_resolution_scale > 1 ? load_pipelines_scaled_[uint32_t(load_mode)]
|
texture_resolution_scaled ? load_pipelines_scaled_[uint32_t(load_mode)]
|
||||||
: load_pipelines_[uint32_t(load_mode)];
|
: load_pipelines_[uint32_t(load_mode)];
|
||||||
if (pipeline == nullptr) {
|
if (pipeline == nullptr) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const LoadModeInfo& load_mode_info = load_mode_info_[uint32_t(load_mode)];
|
const LoadModeInfo& load_mode_info = load_mode_info_[uint32_t(load_mode)];
|
||||||
const LoadShaderInfo& load_shader_info =
|
|
||||||
load_mode_info.shaders[texture_resolution_scale - 1];
|
|
||||||
|
|
||||||
// Request uploading of the texture data to the shared memory.
|
// Request uploading of the texture data to the shared memory.
|
||||||
// This is also necessary when resolution scale is used - the texture cache
|
// This is also necessary when resolution scale is used - the texture cache
|
||||||
|
@ -2382,7 +2341,7 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
if (!base_in_sync) {
|
if (!base_in_sync) {
|
||||||
if (!shared_memory_.RequestRange(
|
if (!shared_memory_.RequestRange(
|
||||||
texture->key.base_page << 12, texture->GetGuestBaseSize(),
|
texture->key.base_page << 12, texture->GetGuestBaseSize(),
|
||||||
texture->key.scaled_resolve ? nullptr : &base_resolved)) {
|
texture_resolution_scaled ? nullptr : &base_resolved)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2390,11 +2349,11 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
if (!mips_in_sync) {
|
if (!mips_in_sync) {
|
||||||
if (!shared_memory_.RequestRange(
|
if (!shared_memory_.RequestRange(
|
||||||
texture->key.mip_page << 12, texture->GetGuestMipsSize(),
|
texture->key.mip_page << 12, texture->GetGuestMipsSize(),
|
||||||
texture->key.scaled_resolve ? nullptr : &mips_resolved)) {
|
texture_resolution_scaled ? nullptr : &mips_resolved)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (texture_resolution_scale > 1) {
|
if (texture_resolution_scaled) {
|
||||||
// Make sure all heaps are created.
|
// Make sure all heaps are created.
|
||||||
if (!EnsureScaledResolveMemoryCommitted(texture->key.base_page << 12,
|
if (!EnsureScaledResolveMemoryCommitted(texture->key.base_page << 12,
|
||||||
texture->GetGuestBaseSize())) {
|
texture->GetGuestBaseSize())) {
|
||||||
|
@ -2425,6 +2384,10 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
uint32_t level_packed = texture->guest_layout.packed_level;
|
uint32_t level_packed = texture->guest_layout.packed_level;
|
||||||
uint32_t level_stored_first = std::min(level_first, level_packed);
|
uint32_t level_stored_first = std::min(level_first, level_packed);
|
||||||
uint32_t level_stored_last = std::min(level_last, level_packed);
|
uint32_t level_stored_last = std::min(level_last, level_packed);
|
||||||
|
uint32_t texture_resolution_scale_x =
|
||||||
|
texture_resolution_scaled ? draw_resolution_scale_x_ : 1;
|
||||||
|
uint32_t texture_resolution_scale_y =
|
||||||
|
texture_resolution_scaled ? draw_resolution_scale_y_ : 1;
|
||||||
|
|
||||||
// Get the host layout and the buffer.
|
// Get the host layout and the buffer.
|
||||||
UINT64 copy_buffer_size = 0;
|
UINT64 copy_buffer_size = 0;
|
||||||
|
@ -2470,15 +2433,16 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
host_slice_layout_base.Footprint.Depth = depth;
|
host_slice_layout_base.Footprint.Depth = depth;
|
||||||
}
|
}
|
||||||
host_slice_layout_base.Footprint.Width = xe::round_up(
|
host_slice_layout_base.Footprint.Width = xe::round_up(
|
||||||
host_slice_layout_base.Footprint.Width * texture_resolution_scale,
|
host_slice_layout_base.Footprint.Width * texture_resolution_scale_x,
|
||||||
UINT(host_block_width));
|
UINT(host_block_width));
|
||||||
host_slice_layout_base.Footprint.Height = xe::round_up(
|
host_slice_layout_base.Footprint.Height = xe::round_up(
|
||||||
host_slice_layout_base.Footprint.Height * texture_resolution_scale,
|
host_slice_layout_base.Footprint.Height * texture_resolution_scale_y,
|
||||||
UINT(host_block_height));
|
UINT(host_block_height));
|
||||||
host_slice_layout_base.Footprint.RowPitch =
|
host_slice_layout_base.Footprint.RowPitch =
|
||||||
xe::align(xe::round_up(host_slice_layout_base.Footprint.Width /
|
xe::align(xe::round_up(host_slice_layout_base.Footprint.Width /
|
||||||
host_block_width,
|
host_block_width,
|
||||||
load_shader_info.host_x_blocks_per_thread) *
|
load_mode_info.host_x_blocks_per_thread *
|
||||||
|
texture_resolution_scale_x) *
|
||||||
host_bytes_per_block,
|
host_bytes_per_block,
|
||||||
uint32_t(D3D12_TEXTURE_DATA_PITCH_ALIGNMENT));
|
uint32_t(D3D12_TEXTURE_DATA_PITCH_ALIGNMENT));
|
||||||
host_slice_size_base = xe::align(
|
host_slice_size_base = xe::align(
|
||||||
|
@ -2515,15 +2479,16 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
std::max(depth >> level, uint32_t(1));
|
std::max(depth >> level, uint32_t(1));
|
||||||
}
|
}
|
||||||
host_slice_layout_mip.Footprint.Width = xe::round_up(
|
host_slice_layout_mip.Footprint.Width = xe::round_up(
|
||||||
host_slice_layout_mip.Footprint.Width * texture_resolution_scale,
|
host_slice_layout_mip.Footprint.Width * texture_resolution_scale_x,
|
||||||
UINT(host_block_width));
|
UINT(host_block_width));
|
||||||
host_slice_layout_mip.Footprint.Height = xe::round_up(
|
host_slice_layout_mip.Footprint.Height = xe::round_up(
|
||||||
host_slice_layout_mip.Footprint.Height * texture_resolution_scale,
|
host_slice_layout_mip.Footprint.Height * texture_resolution_scale_y,
|
||||||
UINT(host_block_height));
|
UINT(host_block_height));
|
||||||
host_slice_layout_mip.Footprint.RowPitch =
|
host_slice_layout_mip.Footprint.RowPitch =
|
||||||
xe::align(xe::round_up(host_slice_layout_mip.Footprint.Width /
|
xe::align(xe::round_up(host_slice_layout_mip.Footprint.Width /
|
||||||
host_block_width,
|
host_block_width,
|
||||||
load_shader_info.host_x_blocks_per_thread) *
|
load_mode_info.host_x_blocks_per_thread *
|
||||||
|
texture_resolution_scale_x) *
|
||||||
host_bytes_per_block,
|
host_bytes_per_block,
|
||||||
uint32_t(D3D12_TEXTURE_DATA_PITCH_ALIGNMENT));
|
uint32_t(D3D12_TEXTURE_DATA_PITCH_ALIGNMENT));
|
||||||
UINT64 host_slice_sizes_mip = xe::align(
|
UINT64 host_slice_sizes_mip = xe::align(
|
||||||
|
@ -2557,7 +2522,7 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
// descriptors for base and mips.
|
// descriptors for base and mips.
|
||||||
// Destination.
|
// Destination.
|
||||||
uint32_t descriptor_count = 1;
|
uint32_t descriptor_count = 1;
|
||||||
if (texture_resolution_scale > 1) {
|
if (texture_resolution_scaled) {
|
||||||
// Source - base and mips, one or both.
|
// Source - base and mips, one or both.
|
||||||
descriptor_count += (level_first == 0 && level_last != 0) ? 2 : 1;
|
descriptor_count += (level_first == 0 && level_last != 0) ? 2 : 1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2581,25 +2546,25 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
descriptors_allocated[descriptor_write_index++];
|
descriptors_allocated[descriptor_write_index++];
|
||||||
ui::d3d12::util::CreateBufferTypedUAV(
|
ui::d3d12::util::CreateBufferTypedUAV(
|
||||||
device, descriptor_dest.first, copy_buffer,
|
device, descriptor_dest.first, copy_buffer,
|
||||||
ui::d3d12::util::GetUintPow2DXGIFormat(load_shader_info.uav_bpe_log2),
|
ui::d3d12::util::GetUintPow2DXGIFormat(load_mode_info.uav_bpe_log2),
|
||||||
uint32_t(copy_buffer_size) >> load_shader_info.uav_bpe_log2);
|
uint32_t(copy_buffer_size) >> load_mode_info.uav_bpe_log2);
|
||||||
command_list.D3DSetComputeRootDescriptorTable(2, descriptor_dest.second);
|
command_list.D3DSetComputeRootDescriptorTable(2, descriptor_dest.second);
|
||||||
// Set up the unscaled source descriptor (scaled needs two descriptors that
|
// Set up the unscaled source descriptor (scaled needs two descriptors that
|
||||||
// depend on the buffer being current, so they will be set later - for mips,
|
// depend on the buffer being current, so they will be set later - for mips,
|
||||||
// after loading the base is done).
|
// after loading the base is done).
|
||||||
if (texture_resolution_scale <= 1) {
|
if (!texture_resolution_scaled) {
|
||||||
shared_memory_.UseForReading();
|
shared_memory_.UseForReading();
|
||||||
ui::d3d12::util::DescriptorCpuGpuHandlePair descriptor_unscaled_source;
|
ui::d3d12::util::DescriptorCpuGpuHandlePair descriptor_unscaled_source;
|
||||||
if (bindless_resources_used_) {
|
if (bindless_resources_used_) {
|
||||||
descriptor_unscaled_source =
|
descriptor_unscaled_source =
|
||||||
command_processor_.GetSharedMemoryUintPow2BindlessSRVHandlePair(
|
command_processor_.GetSharedMemoryUintPow2BindlessSRVHandlePair(
|
||||||
load_shader_info.srv_bpe_log2);
|
load_mode_info.srv_bpe_log2);
|
||||||
} else {
|
} else {
|
||||||
assert_true(descriptor_write_index < descriptor_count);
|
assert_true(descriptor_write_index < descriptor_count);
|
||||||
descriptor_unscaled_source =
|
descriptor_unscaled_source =
|
||||||
descriptors_allocated[descriptor_write_index++];
|
descriptors_allocated[descriptor_write_index++];
|
||||||
shared_memory_.WriteUintPow2SRVDescriptor(
|
shared_memory_.WriteUintPow2SRVDescriptor(
|
||||||
descriptor_unscaled_source.first, load_shader_info.srv_bpe_log2);
|
descriptor_unscaled_source.first, load_mode_info.srv_bpe_log2);
|
||||||
}
|
}
|
||||||
command_list.D3DSetComputeRootDescriptorTable(
|
command_list.D3DSetComputeRootDescriptorTable(
|
||||||
1, descriptor_unscaled_source.second);
|
1, descriptor_unscaled_source.second);
|
||||||
|
@ -2609,9 +2574,10 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
|
|
||||||
auto& cbuffer_pool = command_processor_.GetConstantBufferPool();
|
auto& cbuffer_pool = command_processor_.GetConstantBufferPool();
|
||||||
LoadConstants load_constants;
|
LoadConstants load_constants;
|
||||||
load_constants.is_tiled_3d_endian = uint32_t(texture->key.tiled) |
|
load_constants.is_tiled_3d_endian_scale =
|
||||||
(uint32_t(is_3d) << 1) |
|
uint32_t(texture->key.tiled) | (uint32_t(is_3d) << 1) |
|
||||||
(uint32_t(texture->key.endianness) << 2);
|
(uint32_t(texture->key.endianness) << 2) |
|
||||||
|
(texture_resolution_scale_x << 4) | (texture_resolution_scale_y << 6);
|
||||||
|
|
||||||
// The loop counter can mean two things depending on whether the packed mip
|
// The loop counter can mean two things depending on whether the packed mip
|
||||||
// tail is stored as mip 0, because in this case, it would be ambiguous since
|
// tail is stored as mip 0, because in this case, it would be ambiguous since
|
||||||
|
@ -2646,8 +2612,7 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
|
|
||||||
// Set up the base or mips source, also making it accessible if loading from
|
// Set up the base or mips source, also making it accessible if loading from
|
||||||
// scaled resolve memory.
|
// scaled resolve memory.
|
||||||
if (texture_resolution_scale > 1 &&
|
if (texture_resolution_scaled && (is_base || !scaled_mips_source_set_up)) {
|
||||||
(is_base || !scaled_mips_source_set_up)) {
|
|
||||||
uint32_t guest_size_unscaled =
|
uint32_t guest_size_unscaled =
|
||||||
is_base ? texture->GetGuestBaseSize() : texture->GetGuestMipsSize();
|
is_base ? texture->GetGuestBaseSize() : texture->GetGuestMipsSize();
|
||||||
if (!MakeScaledResolveRangeCurrent(guest_address, guest_size_unscaled)) {
|
if (!MakeScaledResolveRangeCurrent(guest_address, guest_size_unscaled)) {
|
||||||
|
@ -2661,7 +2626,7 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
ui::d3d12::util::DescriptorCpuGpuHandlePair descriptor_scaled_source =
|
ui::d3d12::util::DescriptorCpuGpuHandlePair descriptor_scaled_source =
|
||||||
descriptors_allocated[descriptor_write_index++];
|
descriptors_allocated[descriptor_write_index++];
|
||||||
CreateCurrentScaledResolveRangeUintPow2SRV(descriptor_scaled_source.first,
|
CreateCurrentScaledResolveRangeUintPow2SRV(descriptor_scaled_source.first,
|
||||||
load_shader_info.srv_bpe_log2);
|
load_mode_info.srv_bpe_log2);
|
||||||
command_list.D3DSetComputeRootDescriptorTable(
|
command_list.D3DSetComputeRootDescriptorTable(
|
||||||
1, descriptor_scaled_source.second);
|
1, descriptor_scaled_source.second);
|
||||||
if (!is_base) {
|
if (!is_base) {
|
||||||
|
@ -2669,7 +2634,7 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (texture_resolution_scale > 1) {
|
if (texture_resolution_scaled) {
|
||||||
// Offset already applied in the buffer because more than 512 MB can't be
|
// Offset already applied in the buffer because more than 512 MB can't be
|
||||||
// directly addresses on Nvidia as R32.
|
// directly addresses on Nvidia as R32.
|
||||||
load_constants.guest_offset = 0;
|
load_constants.guest_offset = 0;
|
||||||
|
@ -2678,7 +2643,8 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
}
|
}
|
||||||
if (!is_base) {
|
if (!is_base) {
|
||||||
load_constants.guest_offset +=
|
load_constants.guest_offset +=
|
||||||
texture->guest_layout.mip_offsets_bytes[level];
|
texture->guest_layout.mip_offsets_bytes[level] *
|
||||||
|
(texture_resolution_scale_x * texture_resolution_scale_y);
|
||||||
}
|
}
|
||||||
const texture_util::TextureGuestLayout::Level& level_guest_layout =
|
const texture_util::TextureGuestLayout::Level& level_guest_layout =
|
||||||
is_base ? texture->guest_layout.base
|
is_base ? texture->guest_layout.base
|
||||||
|
@ -2709,14 +2675,15 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
level_height = std::max(height >> level, uint32_t(1));
|
level_height = std::max(height >> level, uint32_t(1));
|
||||||
level_depth = std::max(depth >> level, uint32_t(1));
|
level_depth = std::max(depth >> level, uint32_t(1));
|
||||||
}
|
}
|
||||||
load_constants.size_blocks[0] =
|
load_constants.size_blocks[0] = (level_width + (block_width - 1)) /
|
||||||
(level_width + (block_width - 1)) / block_width;
|
block_width * texture_resolution_scale_x;
|
||||||
load_constants.size_blocks[1] =
|
load_constants.size_blocks[1] = (level_height + (block_height - 1)) /
|
||||||
(level_height + (block_height - 1)) / block_height;
|
block_height * texture_resolution_scale_y;
|
||||||
load_constants.size_blocks[2] = level_depth;
|
load_constants.size_blocks[2] = level_depth;
|
||||||
load_constants.height_texels = level_height;
|
load_constants.height_texels = level_height;
|
||||||
|
|
||||||
// Each thread group processes 32x32x1 guest blocks.
|
// Each thread group processes 32x32x1 source blocks (resolution-scaled, but
|
||||||
|
// still compressed if the host needs decompression).
|
||||||
uint32_t group_count_x = (load_constants.size_blocks[0] + 31) >> 5;
|
uint32_t group_count_x = (load_constants.size_blocks[0] + 31) >> 5;
|
||||||
uint32_t group_count_y = (load_constants.size_blocks[1] + 31) >> 5;
|
uint32_t group_count_y = (load_constants.size_blocks[1] + 31) >> 5;
|
||||||
|
|
||||||
|
@ -2745,7 +2712,8 @@ bool TextureCache::LoadTextureData(Texture* texture) {
|
||||||
command_list.D3DDispatch(group_count_x, group_count_y,
|
command_list.D3DDispatch(group_count_x, group_count_y,
|
||||||
load_constants.size_blocks[2]);
|
load_constants.size_blocks[2]);
|
||||||
load_constants.guest_offset +=
|
load_constants.guest_offset +=
|
||||||
level_guest_layout.array_slice_stride_bytes;
|
level_guest_layout.array_slice_stride_bytes *
|
||||||
|
(texture_resolution_scale_x * texture_resolution_scale_y);
|
||||||
load_constants.host_offset += host_slice_size;
|
load_constants.host_offset += host_slice_size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3023,7 +2991,7 @@ void TextureCache::ClearBindings() {
|
||||||
|
|
||||||
bool TextureCache::IsRangeScaledResolved(uint32_t start_unscaled,
|
bool TextureCache::IsRangeScaledResolved(uint32_t start_unscaled,
|
||||||
uint32_t length_unscaled) {
|
uint32_t length_unscaled) {
|
||||||
if (draw_resolution_scale_ <= 1) {
|
if (!IsDrawResolutionScaled()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3083,7 +3051,7 @@ void TextureCache::ScaledResolveGlobalWatchCallbackThunk(
|
||||||
void TextureCache::ScaledResolveGlobalWatchCallback(uint32_t address_first,
|
void TextureCache::ScaledResolveGlobalWatchCallback(uint32_t address_first,
|
||||||
uint32_t address_last,
|
uint32_t address_last,
|
||||||
bool invalidated_by_gpu) {
|
bool invalidated_by_gpu) {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
if (invalidated_by_gpu) {
|
if (invalidated_by_gpu) {
|
||||||
// Resolves themselves do exactly the opposite of what this should do.
|
// Resolves themselves do exactly the opposite of what this should do.
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -84,7 +84,7 @@ class TextureCache {
|
||||||
// than an unsigned view of the same guest texture.
|
// than an unsigned view of the same guest texture.
|
||||||
uint32_t signed_separate : 1; // 96
|
uint32_t signed_separate : 1; // 96
|
||||||
|
|
||||||
// Whether this texture is a 2x-scaled resolve target.
|
// Whether this texture is a resolution-scaled resolve target.
|
||||||
uint32_t scaled_resolve : 1; // 97
|
uint32_t scaled_resolve : 1; // 97
|
||||||
|
|
||||||
TextureKey() { MakeInvalid(); }
|
TextureKey() { MakeInvalid(); }
|
||||||
|
@ -151,7 +151,8 @@ class TextureCache {
|
||||||
TextureCache(D3D12CommandProcessor& command_processor,
|
TextureCache(D3D12CommandProcessor& command_processor,
|
||||||
const RegisterFile& register_file,
|
const RegisterFile& register_file,
|
||||||
D3D12SharedMemory& shared_memory, bool bindless_resources_used,
|
D3D12SharedMemory& shared_memory, bool bindless_resources_used,
|
||||||
uint32_t draw_resolution_scale);
|
uint32_t draw_resolution_scale_x,
|
||||||
|
uint32_t draw_resolution_scale_y);
|
||||||
~TextureCache();
|
~TextureCache();
|
||||||
|
|
||||||
bool Initialize();
|
bool Initialize();
|
||||||
|
@ -214,16 +215,20 @@ class TextureCache {
|
||||||
D3D12_CPU_DESCRIPTOR_HANDLE handle) const;
|
D3D12_CPU_DESCRIPTOR_HANDLE handle) const;
|
||||||
|
|
||||||
void MarkRangeAsResolved(uint32_t start_unscaled, uint32_t length_unscaled);
|
void MarkRangeAsResolved(uint32_t start_unscaled, uint32_t length_unscaled);
|
||||||
static uint32_t GetMaxDrawResolutionScale(
|
// In textures, resolution scaling is done for 8-byte portions of memory for
|
||||||
const ui::d3d12::D3D12Provider& provider) {
|
// 8bpp textures, and for 16-byte portions for textures of higher bit depths
|
||||||
// 31 because 2 GB buffers are used.
|
// (these are the sizes of regions where contiguous texels in memory are also
|
||||||
if (provider.GetTiledResourcesTier() < D3D12_TILED_RESOURCES_TIER_1 ||
|
// contiguous in the texture along the horizontal axis, so 64-bit and 128-bit
|
||||||
provider.GetVirtualAddressBitsPerResource() < 31) {
|
// loads / stores, for 8bpp and 16bpp+ respectively, can be used for untiling
|
||||||
return 1;
|
// regardless of the resolution scale).
|
||||||
}
|
static void ClampDrawResolutionScaleToSupportedRange(
|
||||||
return kMaxDrawResolutionScale;
|
uint32_t& scale_x, uint32_t& scale_y,
|
||||||
|
const ui::d3d12::D3D12Provider& provider);
|
||||||
|
uint32_t GetDrawResolutionScaleX() const { return draw_resolution_scale_x_; }
|
||||||
|
uint32_t GetDrawResolutionScaleY() const { return draw_resolution_scale_y_; }
|
||||||
|
bool IsDrawResolutionScaled() const {
|
||||||
|
return draw_resolution_scale_x_ > 1 || draw_resolution_scale_y_ > 1;
|
||||||
}
|
}
|
||||||
uint32_t GetDrawResolutionScale() const { return draw_resolution_scale_; }
|
|
||||||
// Ensures the tiles backing the range in the buffers are allocated.
|
// Ensures the tiles backing the range in the buffers are allocated.
|
||||||
bool EnsureScaledResolveMemoryCommitted(uint32_t start_unscaled,
|
bool EnsureScaledResolveMemoryCommitted(uint32_t start_unscaled,
|
||||||
uint32_t length_unscaled);
|
uint32_t length_unscaled);
|
||||||
|
@ -242,7 +247,7 @@ class TextureCache {
|
||||||
D3D12_CPU_DESCRIPTOR_HANDLE handle, uint32_t element_size_bytes_pow2);
|
D3D12_CPU_DESCRIPTOR_HANDLE handle, uint32_t element_size_bytes_pow2);
|
||||||
void TransitionCurrentScaledResolveRange(D3D12_RESOURCE_STATES new_state);
|
void TransitionCurrentScaledResolveRange(D3D12_RESOURCE_STATES new_state);
|
||||||
void MarkCurrentScaledResolveRangeUAVWritesCommitNeeded() {
|
void MarkCurrentScaledResolveRangeUAVWritesCommitNeeded() {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
GetCurrentScaledResolveBuffer().SetUAVBarrierPending();
|
GetCurrentScaledResolveBuffer().SetUAVBarrierPending();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,7 +260,11 @@ class TextureCache {
|
||||||
xenos::TextureFormat& format_out);
|
xenos::TextureFormat& format_out);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr uint32_t kMaxDrawResolutionScale = 3;
|
// Hard limit, originating from the half-pixel offset (two-pixel offset is too
|
||||||
|
// much, the resolve shaders, being generic for different scales, only
|
||||||
|
// duplicate the second pixel into the first, not the third), and also due to
|
||||||
|
// the bit counts used for passing the scale to shaders.
|
||||||
|
static constexpr uint32_t kMaxDrawResolutionScaleAlongAxis = 3;
|
||||||
|
|
||||||
enum class LoadMode {
|
enum class LoadMode {
|
||||||
k8bpb,
|
k8bpb,
|
||||||
|
@ -287,7 +296,7 @@ class TextureCache {
|
||||||
kUnknown = kCount
|
kUnknown = kCount
|
||||||
};
|
};
|
||||||
|
|
||||||
struct LoadShaderInfo {
|
struct LoadModeInfo {
|
||||||
// Rules of data access in load shaders:
|
// Rules of data access in load shaders:
|
||||||
// - Source reading (from the shared memory or the scaled resolve buffer):
|
// - Source reading (from the shared memory or the scaled resolve buffer):
|
||||||
// - Guest data may be stored in a sparsely-allocated buffer, or, in
|
// - Guest data may be stored in a sparsely-allocated buffer, or, in
|
||||||
|
@ -336,11 +345,13 @@ class TextureCache {
|
||||||
// - Resolution scaling enabled:
|
// - Resolution scaling enabled:
|
||||||
// - For simplicity, unlike in the shared memory, buffer tile boundaries
|
// - For simplicity, unlike in the shared memory, buffer tile boundaries
|
||||||
// are not aligned to powers of 2 the same way as guest addresses are.
|
// are not aligned to powers of 2 the same way as guest addresses are.
|
||||||
// While for 2x resolution scaling it still happens to be the case
|
// While for 2x2 resolution scaling it still happens to be the case
|
||||||
// because `host address = guest address << 1`, for 3x, it's not - a
|
// because `host scaling unit address = guest scaling unit
|
||||||
// 64 KB host tile would represent 7281.777 guest bytes (though we
|
// address << 2` (similarly for 2x1 and 1x2), for 3x or x3, it's not -
|
||||||
// scale texels, not bytes, but that's what it would be for k_8
|
// a 64 KB host tile would represent 7281.777 guest bytes with 3x3
|
||||||
// textures).
|
// (disregarding that sequences of texels that are adjacent in memory
|
||||||
|
// alongside the horizontal axis, not individual bytes, are scaled,
|
||||||
|
// but even in that case it's not scaling by 2^n still).
|
||||||
// - The above would affect the `width > pitch` case for linear
|
// - The above would affect the `width > pitch` case for linear
|
||||||
// textures, requiring overestimating the width in calculation of the
|
// textures, requiring overestimating the width in calculation of the
|
||||||
// range of the tiles to map, while not doing this overestimation on
|
// range of the tiles to map, while not doing this overestimation on
|
||||||
|
@ -363,24 +374,26 @@ class TextureCache {
|
||||||
// - host_x_blocks_per_thread specifies how many pixels can be written
|
// - host_x_blocks_per_thread specifies how many pixels can be written
|
||||||
// without bounds checking within increments of that amount - the pitch
|
// without bounds checking within increments of that amount - the pitch
|
||||||
// of the destination buffer is manually overaligned if needed.
|
// of the destination buffer is manually overaligned if needed.
|
||||||
|
// Shader without resolution scaling.
|
||||||
const void* shader;
|
const void* shader;
|
||||||
size_t shader_size;
|
size_t shader_size;
|
||||||
|
// Shader with resolution scaling, if available. These shaders are separate
|
||||||
|
// so the majority of the textures are not affected by the code needed for
|
||||||
|
// resolution scale support, and also to check if the format allows
|
||||||
|
// resolution scaling.
|
||||||
|
const void* shader_scaled;
|
||||||
|
size_t shader_scaled_size;
|
||||||
// Log2 of the sizes, in bytes, of the source (guest) SRV and the
|
// Log2 of the sizes, in bytes, of the source (guest) SRV and the
|
||||||
// destination (host) UAV accessed by the copying shader, since the shader
|
// destination (host) UAV accessed by the copying shader, since the shader
|
||||||
// may copy multiple blocks per one invocation.
|
// may copy multiple blocks per one invocation.
|
||||||
uint32_t srv_bpe_log2;
|
uint32_t srv_bpe_log2;
|
||||||
uint32_t uav_bpe_log2;
|
uint32_t uav_bpe_log2;
|
||||||
// Number of guest blocks (or texels for uncompressed) along X axis written
|
// Number of host blocks (or texels for uncompressed) along X axis written
|
||||||
// by every compute shader thread - rows in the upload buffer are padded to
|
// by every compute shader thread - rows in the upload buffer are padded to
|
||||||
// at least this amount.
|
// at least this amount.
|
||||||
uint32_t host_x_blocks_per_thread;
|
uint32_t host_x_blocks_per_thread;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct LoadModeInfo {
|
|
||||||
// For different drawing resolution scales.
|
|
||||||
LoadShaderInfo shaders[kMaxDrawResolutionScale];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct HostFormat {
|
struct HostFormat {
|
||||||
// Format info for the regular case.
|
// Format info for the regular case.
|
||||||
// DXGI format (typeless when different signedness or number representation
|
// DXGI format (typeless when different signedness or number representation
|
||||||
|
@ -473,17 +486,18 @@ class TextureCache {
|
||||||
|
|
||||||
struct LoadConstants {
|
struct LoadConstants {
|
||||||
// vec4 0.
|
// vec4 0.
|
||||||
uint32_t is_tiled_3d_endian;
|
uint32_t is_tiled_3d_endian_scale;
|
||||||
// Base offset in bytes.
|
// Base offset in bytes, resolution-scaled.
|
||||||
uint32_t guest_offset;
|
uint32_t guest_offset;
|
||||||
// For tiled textures - row pitch in blocks, aligned to 32.
|
// For tiled textures - row pitch in blocks, aligned to 32, unscaled.
|
||||||
// For linear textures - row pitch in bytes.
|
// For linear textures - row pitch in bytes.
|
||||||
uint32_t guest_pitch_aligned;
|
uint32_t guest_pitch_aligned;
|
||||||
// For 3D textures only (ignored otherwise) - aligned to 32.
|
// For 3D textures only (ignored otherwise) - aligned to 32, unscaled.
|
||||||
uint32_t guest_z_stride_block_rows_aligned;
|
uint32_t guest_z_stride_block_rows_aligned;
|
||||||
|
|
||||||
// vec4 1.
|
// vec4 1.
|
||||||
// If this is a packed mip tail, this is aligned to tile dimensions.
|
// If this is a packed mip tail, this is aligned to tile dimensions.
|
||||||
|
// Resolution-scaled.
|
||||||
uint32_t size_blocks[3];
|
uint32_t size_blocks[3];
|
||||||
// Base offset in bytes.
|
// Base offset in bytes.
|
||||||
uint32_t host_offset;
|
uint32_t host_offset;
|
||||||
|
@ -671,7 +685,7 @@ class TextureCache {
|
||||||
void ClearBindings();
|
void ClearBindings();
|
||||||
|
|
||||||
size_t GetScaledResolveBufferCount() const {
|
size_t GetScaledResolveBufferCount() const {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
// Make sure any range up to 1 GB is accessible through 1 or 2 buffers.
|
// Make sure any range up to 1 GB is accessible through 1 or 2 buffers.
|
||||||
// 2x2 scale buffers - just one 2 GB buffer for all 2 GB.
|
// 2x2 scale buffers - just one 2 GB buffer for all 2 GB.
|
||||||
// 3x3 scale buffers - 4 buffers:
|
// 3x3 scale buffers - 4 buffers:
|
||||||
|
@ -687,7 +701,7 @@ class TextureCache {
|
||||||
// three buffers.
|
// three buffers.
|
||||||
uint64_t address_space_size =
|
uint64_t address_space_size =
|
||||||
uint64_t(SharedMemory::kBufferSize) *
|
uint64_t(SharedMemory::kBufferSize) *
|
||||||
(draw_resolution_scale_ * draw_resolution_scale_);
|
(draw_resolution_scale_x_ * draw_resolution_scale_y_);
|
||||||
return size_t((address_space_size - 1) >> 30);
|
return size_t((address_space_size - 1) >> 30);
|
||||||
}
|
}
|
||||||
// Returns indices of two scaled resolve virtual buffers that the location in
|
// Returns indices of two scaled resolve virtual buffers that the location in
|
||||||
|
@ -695,7 +709,7 @@ class TextureCache {
|
||||||
// the beginning or the end of the address represented only by one buffer.
|
// the beginning or the end of the address represented only by one buffer.
|
||||||
std::array<size_t, 2> GetPossibleScaledResolveBufferIndices(
|
std::array<size_t, 2> GetPossibleScaledResolveBufferIndices(
|
||||||
uint64_t address_scaled) const {
|
uint64_t address_scaled) const {
|
||||||
assert_true(draw_resolution_scale_ > 1);
|
assert_true(IsDrawResolutionScaled());
|
||||||
size_t address_gb = size_t(address_scaled >> 30);
|
size_t address_gb = size_t(address_scaled >> 30);
|
||||||
size_t max_index = GetScaledResolveBufferCount() - 1;
|
size_t max_index = GetScaledResolveBufferCount() - 1;
|
||||||
// In different cases for 3x3:
|
// In different cases for 3x3:
|
||||||
|
@ -788,11 +802,12 @@ class TextureCache {
|
||||||
};
|
};
|
||||||
uint8_t unsupported_format_features_used_[64];
|
uint8_t unsupported_format_features_used_[64];
|
||||||
|
|
||||||
uint32_t draw_resolution_scale_ = 1;
|
uint32_t draw_resolution_scale_x_ = 1;
|
||||||
|
uint32_t draw_resolution_scale_y_ = 1;
|
||||||
// The tiled buffer for resolved data with resolution scaling.
|
// The tiled buffer for resolved data with resolution scaling.
|
||||||
// Because on Direct3D 12 (at least on Windows 10 2004) typed SRV or UAV
|
// Because on Direct3D 12 (at least on Windows 10 2004) typed SRV or UAV
|
||||||
// creation fails for offsets above 4 GB, a single tiled 4.5 GB buffer can't
|
// creation fails for offsets above 4 GB, a single tiled 4.5 GB buffer can't
|
||||||
// be used for 3x resolution scaling.
|
// be used for 3x3 resolution scaling.
|
||||||
// Instead, "sliding window" buffers allowing to access a single range of up
|
// Instead, "sliding window" buffers allowing to access a single range of up
|
||||||
// to 1 GB (or up to 2 GB, depending on the low bits) at any moment are used.
|
// to 1 GB (or up to 2 GB, depending on the low bits) at any moment are used.
|
||||||
// Parts of 4.5 GB address space can be accessed through 2 GB buffers as:
|
// Parts of 4.5 GB address space can be accessed through 2 GB buffers as:
|
||||||
|
@ -807,8 +822,8 @@ class TextureCache {
|
||||||
// Size is calculated the same as in GetScaledResolveBufferCount.
|
// Size is calculated the same as in GetScaledResolveBufferCount.
|
||||||
ScaledResolveVirtualBuffer*
|
ScaledResolveVirtualBuffer*
|
||||||
scaled_resolve_2gb_buffers_[(uint64_t(SharedMemory::kBufferSize) *
|
scaled_resolve_2gb_buffers_[(uint64_t(SharedMemory::kBufferSize) *
|
||||||
(kMaxDrawResolutionScale *
|
(kMaxDrawResolutionScaleAlongAxis *
|
||||||
kMaxDrawResolutionScale) -
|
kMaxDrawResolutionScaleAlongAxis) -
|
||||||
1) >>
|
1) >>
|
||||||
30] = {};
|
30] = {};
|
||||||
// Not very big heaps (16 MB) because they are needed pretty sparsely. One
|
// Not very big heaps (16 MB) because they are needed pretty sparsely. One
|
||||||
|
@ -838,8 +853,8 @@ class TextureCache {
|
||||||
// For aliasing barrier placement, last owning buffer index for each of 1 GB.
|
// For aliasing barrier placement, last owning buffer index for each of 1 GB.
|
||||||
size_t
|
size_t
|
||||||
scaled_resolve_1gb_buffer_indices_[(uint64_t(SharedMemory::kBufferSize) *
|
scaled_resolve_1gb_buffer_indices_[(uint64_t(SharedMemory::kBufferSize) *
|
||||||
kMaxDrawResolutionScale *
|
kMaxDrawResolutionScaleAlongAxis *
|
||||||
kMaxDrawResolutionScale +
|
kMaxDrawResolutionScaleAlongAxis +
|
||||||
((uint32_t(1) << 30) - 1)) >>
|
((uint32_t(1) << 30) - 1)) >>
|
||||||
30];
|
30];
|
||||||
// Range used in the last successful MakeScaledResolveRangeCurrent call.
|
// Range used in the last successful MakeScaledResolveRangeCurrent call.
|
||||||
|
|
|
@ -189,13 +189,14 @@ bool IsPixelShaderNeededWithRasterization(const Shader& shader,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale,
|
void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale_x,
|
||||||
bool origin_bottom_left, uint32_t x_max,
|
uint32_t resolution_scale_y, bool origin_bottom_left,
|
||||||
uint32_t y_max, bool allow_reverse_z,
|
uint32_t x_max, uint32_t y_max, bool allow_reverse_z,
|
||||||
bool convert_z_to_float24, bool full_float24_in_0_to_1,
|
bool convert_z_to_float24, bool full_float24_in_0_to_1,
|
||||||
bool pixel_shader_writes_depth,
|
bool pixel_shader_writes_depth,
|
||||||
ViewportInfo& viewport_info_out) {
|
ViewportInfo& viewport_info_out) {
|
||||||
assert_not_zero(resolution_scale);
|
assert_not_zero(resolution_scale_x);
|
||||||
|
assert_not_zero(resolution_scale_y);
|
||||||
|
|
||||||
// A vertex position goes the following path:
|
// A vertex position goes the following path:
|
||||||
//
|
//
|
||||||
|
@ -364,8 +365,8 @@ void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale,
|
||||||
|
|
||||||
// The maximum value is at least the maximum host render target size anyway -
|
// The maximum value is at least the maximum host render target size anyway -
|
||||||
// and a guest pixel is always treated as a whole with resolution scaling.
|
// and a guest pixel is always treated as a whole with resolution scaling.
|
||||||
uint32_t xy_max_unscaled[] = {x_max / resolution_scale,
|
uint32_t xy_max_unscaled[] = {x_max / resolution_scale_x,
|
||||||
y_max / resolution_scale};
|
y_max / resolution_scale_y};
|
||||||
assert_not_zero(xy_max_unscaled[0]);
|
assert_not_zero(xy_max_unscaled[0]);
|
||||||
assert_not_zero(xy_max_unscaled[1]);
|
assert_not_zero(xy_max_unscaled[1]);
|
||||||
|
|
||||||
|
@ -383,7 +384,8 @@ void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale,
|
||||||
viewport_info_out.xy_offset[i] = 0;
|
viewport_info_out.xy_offset[i] = 0;
|
||||||
uint32_t extent_axis_unscaled =
|
uint32_t extent_axis_unscaled =
|
||||||
std::min(xenos::kTexture2DCubeMaxWidthHeight, xy_max_unscaled[i]);
|
std::min(xenos::kTexture2DCubeMaxWidthHeight, xy_max_unscaled[i]);
|
||||||
viewport_info_out.xy_extent[i] = extent_axis_unscaled * resolution_scale;
|
viewport_info_out.xy_extent[i] =
|
||||||
|
extent_axis_unscaled * (i ? resolution_scale_y : resolution_scale_x);
|
||||||
float extent_axis_unscaled_float = float(extent_axis_unscaled);
|
float extent_axis_unscaled_float = float(extent_axis_unscaled);
|
||||||
float pixels_to_ndc_axis = 2.0f / extent_axis_unscaled_float;
|
float pixels_to_ndc_axis = 2.0f / extent_axis_unscaled_float;
|
||||||
ndc_scale[i] = scale_xy[i] * pixels_to_ndc_axis;
|
ndc_scale[i] = scale_xy[i] * pixels_to_ndc_axis;
|
||||||
|
@ -409,6 +411,8 @@ void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale,
|
||||||
// vertices if we did flooring in host pixels. Instead of flooring, also
|
// vertices if we did flooring in host pixels. Instead of flooring, also
|
||||||
// doing truncation for simplicity - since maxing with 0 is done anyway
|
// doing truncation for simplicity - since maxing with 0 is done anyway
|
||||||
// (we only return viewports in the positive quarter-plane).
|
// (we only return viewports in the positive quarter-plane).
|
||||||
|
uint32_t axis_resolution_scale =
|
||||||
|
i ? resolution_scale_y : resolution_scale_x;
|
||||||
float offset_axis = offset_base_xy[i] + offset_add_xy[i];
|
float offset_axis = offset_base_xy[i] + offset_add_xy[i];
|
||||||
float scale_axis = scale_xy[i];
|
float scale_axis = scale_xy[i];
|
||||||
float scale_axis_abs = std::abs(scale_xy[i]);
|
float scale_axis_abs = std::abs(scale_xy[i]);
|
||||||
|
@ -423,8 +427,8 @@ void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale,
|
||||||
uint32_t axis_1_int =
|
uint32_t axis_1_int =
|
||||||
uint32_t(std::min(axis_max_unscaled_float, std::max(0.0f, axis_1)));
|
uint32_t(std::min(axis_max_unscaled_float, std::max(0.0f, axis_1)));
|
||||||
uint32_t axis_extent_int = axis_1_int - axis_0_int;
|
uint32_t axis_extent_int = axis_1_int - axis_0_int;
|
||||||
viewport_info_out.xy_offset[i] = axis_0_int * resolution_scale;
|
viewport_info_out.xy_offset[i] = axis_0_int * axis_resolution_scale;
|
||||||
viewport_info_out.xy_extent[i] = axis_extent_int * resolution_scale;
|
viewport_info_out.xy_extent[i] = axis_extent_int * axis_resolution_scale;
|
||||||
float ndc_scale_axis;
|
float ndc_scale_axis;
|
||||||
float ndc_offset_axis;
|
float ndc_offset_axis;
|
||||||
if (axis_extent_int) {
|
if (axis_extent_int) {
|
||||||
|
@ -691,38 +695,19 @@ void GetResolveEdramTileSpan(ResolveEdramPackedInfo edram_info,
|
||||||
|
|
||||||
const ResolveCopyShaderInfo
|
const ResolveCopyShaderInfo
|
||||||
resolve_copy_shader_info[size_t(ResolveCopyShaderIndex::kCount)] = {
|
resolve_copy_shader_info[size_t(ResolveCopyShaderIndex::kCount)] = {
|
||||||
{"Resolve Copy Fast 32bpp 1x/2xMSAA", 1, false, 4, 4, 6, 3},
|
{"Resolve Copy Fast 32bpp 1x/2xMSAA", false, 4, 4, 6, 3},
|
||||||
{"Resolve Copy Fast 32bpp 4xMSAA", 1, false, 4, 4, 6, 3},
|
{"Resolve Copy Fast 32bpp 4xMSAA", false, 4, 4, 6, 3},
|
||||||
{"Resolve Copy Fast 32bpp 2xRes", 2, false, 4, 4, 4, 3},
|
{"Resolve Copy Fast 64bpp 1x/2xMSAA", false, 4, 4, 5, 3},
|
||||||
{"Resolve Copy Fast 32bpp 3xRes 1x/2xMSAA", 3, false, 3, 3, 4, 3},
|
{"Resolve Copy Fast 64bpp 4xMSAA", false, 3, 4, 5, 3},
|
||||||
{"Resolve Copy Fast 32bpp 3xRes 4xMSAA", 3, false, 3, 3, 4, 3},
|
{"Resolve Copy Full 8bpp", true, 2, 3, 6, 3},
|
||||||
{"Resolve Copy Fast 64bpp 1x/2xMSAA", 1, false, 4, 4, 5, 3},
|
{"Resolve Copy Full 16bpp", true, 2, 3, 5, 3},
|
||||||
{"Resolve Copy Fast 64bpp 4xMSAA", 1, false, 3, 4, 5, 3},
|
{"Resolve Copy Full 32bpp", true, 2, 4, 5, 3},
|
||||||
{"Resolve Copy Fast 64bpp 2xRes", 2, false, 4, 4, 3, 3},
|
{"Resolve Copy Full 64bpp", true, 2, 4, 5, 3},
|
||||||
{"Resolve Copy Fast 64bpp 3xRes", 3, false, 3, 3, 3, 3},
|
{"Resolve Copy Full 128bpp", true, 2, 4, 4, 3},
|
||||||
{"Resolve Copy Full 8bpp", 1, true, 2, 3, 6, 3},
|
|
||||||
{"Resolve Copy Full 8bpp 2xRes", 2, false, 4, 3, 4, 3},
|
|
||||||
{"Resolve Copy Full 8bpp 3xRes", 3, true, 2, 3, 6, 3},
|
|
||||||
{"Resolve Copy Full 16bpp", 1, true, 2, 3, 5, 3},
|
|
||||||
{"Resolve Copy Full 16bpp 2xRes", 2, false, 4, 3, 3, 3},
|
|
||||||
{"Resolve Copy Full 16bpp from 32bpp 3xRes", 3, true, 2, 3, 5, 3},
|
|
||||||
{"Resolve Copy Full 16bpp from 64bpp 3xRes", 3, false, 3, 3, 5, 3},
|
|
||||||
{"Resolve Copy Full 32bpp", 1, true, 2, 4, 5, 3},
|
|
||||||
{"Resolve Copy Full 32bpp 2xRes", 2, false, 4, 4, 3, 3},
|
|
||||||
{"Resolve Copy Full 32bpp from 32bpp 3xRes", 3, true, 2, 3, 4, 3},
|
|
||||||
{"Resolve Copy Full 32bpp from 64bpp 3xRes", 3, false, 3, 3, 4, 3},
|
|
||||||
{"Resolve Copy Full 64bpp", 1, true, 2, 4, 5, 3},
|
|
||||||
{"Resolve Copy Full 64bpp 2xRes", 2, false, 4, 4, 3, 3},
|
|
||||||
{"Resolve Copy Full 64bpp from 32bpp 3xRes", 3, true, 2, 3, 3, 3},
|
|
||||||
{"Resolve Copy Full 64bpp from 64bpp 3xRes", 3, false, 3, 3, 3, 3},
|
|
||||||
{"Resolve Copy Full 128bpp", 1, true, 2, 4, 4, 3},
|
|
||||||
{"Resolve Copy Full 128bpp 2xRes", 2, false, 4, 4, 3, 3},
|
|
||||||
{"Resolve Copy Full 128bpp from 32bpp 3xRes", 3, true, 2, 4, 3, 3},
|
|
||||||
{"Resolve Copy Full 128bpp from 64bpp 3xRes", 3, false, 3, 4, 3, 3},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool GetResolveInfo(const RegisterFile& regs, const Memory& memory,
|
bool GetResolveInfo(const RegisterFile& regs, const Memory& memory,
|
||||||
TraceWriter& trace_writer, uint32_t resolution_scale,
|
TraceWriter& trace_writer, bool is_resolution_scaled,
|
||||||
bool fixed_16_truncated_to_minus_1_to_1,
|
bool fixed_16_truncated_to_minus_1_to_1,
|
||||||
ResolveInfo& info_out) {
|
ResolveInfo& info_out) {
|
||||||
auto rb_copy_control = regs.Get<reg::RB_COPY_CONTROL>();
|
auto rb_copy_control = regs.Get<reg::RB_COPY_CONTROL>();
|
||||||
|
@ -1008,7 +993,7 @@ bool GetResolveInfo(const RegisterFile& regs, const Memory& memory,
|
||||||
|
|
||||||
// Write the color/depth EDRAM info.
|
// Write the color/depth EDRAM info.
|
||||||
bool duplicate_second_pixel =
|
bool duplicate_second_pixel =
|
||||||
resolution_scale > 1 &&
|
is_resolution_scaled &&
|
||||||
cvars::resolve_resolution_scale_duplicate_second_pixel &&
|
cvars::resolve_resolution_scale_duplicate_second_pixel &&
|
||||||
cvars::half_pixel_offset && !regs.Get<reg::PA_SU_VTX_CNTL>().pix_center;
|
cvars::half_pixel_offset && !regs.Get<reg::PA_SU_VTX_CNTL>().pix_center;
|
||||||
int32_t exp_bias = is_depth ? 0 : rb_copy_dest_info.copy_dest_exp_bias;
|
int32_t exp_bias = is_depth ? 0 : rb_copy_dest_info.copy_dest_exp_bias;
|
||||||
|
@ -1092,8 +1077,9 @@ bool GetResolveInfo(const RegisterFile& regs, const Memory& memory,
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolveCopyShaderIndex ResolveInfo::GetCopyShader(
|
ResolveCopyShaderIndex ResolveInfo::GetCopyShader(
|
||||||
uint32_t resolution_scale, ResolveCopyShaderConstants& constants_out,
|
uint32_t resolution_scale_x, uint32_t resolution_scale_y,
|
||||||
uint32_t& group_count_x_out, uint32_t& group_count_y_out) const {
|
ResolveCopyShaderConstants& constants_out, uint32_t& group_count_x_out,
|
||||||
|
uint32_t& group_count_y_out) const {
|
||||||
ResolveCopyShaderIndex shader = ResolveCopyShaderIndex::kUnknown;
|
ResolveCopyShaderIndex shader = ResolveCopyShaderIndex::kUnknown;
|
||||||
bool is_depth = IsCopyingDepth();
|
bool is_depth = IsCopyingDepth();
|
||||||
ResolveEdramPackedInfo edram_info =
|
ResolveEdramPackedInfo edram_info =
|
||||||
|
@ -1105,109 +1091,34 @@ ResolveCopyShaderIndex ResolveInfo::GetCopyShader(
|
||||||
xenos::IsColorResolveFormatBitwiseEquivalent(
|
xenos::IsColorResolveFormatBitwiseEquivalent(
|
||||||
xenos::ColorRenderTargetFormat(color_edram_info.format),
|
xenos::ColorRenderTargetFormat(color_edram_info.format),
|
||||||
xenos::ColorFormat(copy_dest_info.copy_dest_format)))) {
|
xenos::ColorFormat(copy_dest_info.copy_dest_format)))) {
|
||||||
switch (resolution_scale) {
|
if (edram_info.msaa_samples >= xenos::MsaaSamples::k4X) {
|
||||||
case 1:
|
shader = source_is_64bpp ? ResolveCopyShaderIndex::kFast64bpp4xMSAA
|
||||||
if (edram_info.msaa_samples >= xenos::MsaaSamples::k4X) {
|
: ResolveCopyShaderIndex::kFast32bpp4xMSAA;
|
||||||
shader = source_is_64bpp ? ResolveCopyShaderIndex::kFast64bpp4xMSAA
|
} else {
|
||||||
: ResolveCopyShaderIndex::kFast32bpp4xMSAA;
|
shader = source_is_64bpp ? ResolveCopyShaderIndex::kFast64bpp1x2xMSAA
|
||||||
} else {
|
: ResolveCopyShaderIndex::kFast32bpp1x2xMSAA;
|
||||||
shader = source_is_64bpp ? ResolveCopyShaderIndex::kFast64bpp1x2xMSAA
|
|
||||||
: ResolveCopyShaderIndex::kFast32bpp1x2xMSAA;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
shader = source_is_64bpp ? ResolveCopyShaderIndex::kFast64bpp2xRes
|
|
||||||
: ResolveCopyShaderIndex::kFast32bpp2xRes;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (source_is_64bpp) {
|
|
||||||
shader = ResolveCopyShaderIndex::kFast64bpp3xRes;
|
|
||||||
} else {
|
|
||||||
shader = edram_info.msaa_samples >= xenos::MsaaSamples::k4X
|
|
||||||
? ResolveCopyShaderIndex::kFast32bpp3xRes4xMSAA
|
|
||||||
: ResolveCopyShaderIndex::kFast32bpp3xRes1x2xMSAA;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
assert_unhandled_case(resolution_scale);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const FormatInfo& dest_format_info =
|
const FormatInfo& dest_format_info =
|
||||||
*FormatInfo::Get(xenos::TextureFormat(copy_dest_info.copy_dest_format));
|
*FormatInfo::Get(xenos::TextureFormat(copy_dest_info.copy_dest_format));
|
||||||
switch (resolution_scale) {
|
switch (dest_format_info.bits_per_pixel) {
|
||||||
case 1:
|
case 8:
|
||||||
switch (dest_format_info.bits_per_pixel) {
|
shader = ResolveCopyShaderIndex::kFull8bpp;
|
||||||
case 8:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull8bpp;
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull16bpp;
|
|
||||||
break;
|
|
||||||
case 32:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull32bpp;
|
|
||||||
break;
|
|
||||||
case 64:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull64bpp;
|
|
||||||
break;
|
|
||||||
case 128:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull128bpp;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
assert_unhandled_case(dest_format_info.bits_per_pixel);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 16:
|
||||||
switch (dest_format_info.bits_per_pixel) {
|
shader = ResolveCopyShaderIndex::kFull16bpp;
|
||||||
case 8:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull8bpp2xRes;
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull16bpp2xRes;
|
|
||||||
break;
|
|
||||||
case 32:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull32bpp2xRes;
|
|
||||||
break;
|
|
||||||
case 64:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull64bpp2xRes;
|
|
||||||
break;
|
|
||||||
case 128:
|
|
||||||
shader = ResolveCopyShaderIndex::kFull128bpp2xRes;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
assert_unhandled_case(dest_format_info.bits_per_pixel);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 32:
|
||||||
switch (dest_format_info.bits_per_pixel) {
|
shader = ResolveCopyShaderIndex::kFull32bpp;
|
||||||
case 8:
|
break;
|
||||||
shader = ResolveCopyShaderIndex::kFull8bpp3xRes;
|
case 64:
|
||||||
break;
|
shader = ResolveCopyShaderIndex::kFull64bpp;
|
||||||
case 16:
|
break;
|
||||||
shader = source_is_64bpp
|
case 128:
|
||||||
? ResolveCopyShaderIndex::kFull16bppFrom64bpp3xRes
|
shader = ResolveCopyShaderIndex::kFull128bpp;
|
||||||
: ResolveCopyShaderIndex::kFull16bppFrom32bpp3xRes;
|
|
||||||
break;
|
|
||||||
case 32:
|
|
||||||
shader = source_is_64bpp
|
|
||||||
? ResolveCopyShaderIndex::kFull32bppFrom64bpp3xRes
|
|
||||||
: ResolveCopyShaderIndex::kFull32bppFrom32bpp3xRes;
|
|
||||||
break;
|
|
||||||
case 64:
|
|
||||||
shader = source_is_64bpp
|
|
||||||
? ResolveCopyShaderIndex::kFull64bppFrom64bpp3xRes
|
|
||||||
: ResolveCopyShaderIndex::kFull64bppFrom32bpp3xRes;
|
|
||||||
break;
|
|
||||||
case 128:
|
|
||||||
shader = source_is_64bpp
|
|
||||||
? ResolveCopyShaderIndex::kFull128bppFrom64bpp3xRes
|
|
||||||
: ResolveCopyShaderIndex::kFull128bppFrom32bpp3xRes;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
assert_unhandled_case(dest_format_info.bits_per_pixel);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert_unhandled_case(resolution_scale);
|
assert_unhandled_case(dest_format_info.bits_per_pixel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1218,9 +1129,12 @@ ResolveCopyShaderIndex ResolveInfo::GetCopyShader(
|
||||||
constants_out.dest_base = copy_dest_base;
|
constants_out.dest_base = copy_dest_base;
|
||||||
|
|
||||||
if (shader != ResolveCopyShaderIndex::kUnknown) {
|
if (shader != ResolveCopyShaderIndex::kUnknown) {
|
||||||
uint32_t width = address.width_div_8 << xenos::kResolveAlignmentPixelsLog2;
|
uint32_t width =
|
||||||
uint32_t height = address.height_div_8
|
(address.width_div_8 << xenos::kResolveAlignmentPixelsLog2) *
|
||||||
<< xenos::kResolveAlignmentPixelsLog2;
|
resolution_scale_x;
|
||||||
|
uint32_t height =
|
||||||
|
(address.height_div_8 << xenos::kResolveAlignmentPixelsLog2) *
|
||||||
|
resolution_scale_y;
|
||||||
const ResolveCopyShaderInfo& shader_info =
|
const ResolveCopyShaderInfo& shader_info =
|
||||||
resolve_copy_shader_info[size_t(shader)];
|
resolve_copy_shader_info[size_t(shader)];
|
||||||
group_count_x_out = (width + ((1 << shader_info.group_size_x_log2) - 1)) >>
|
group_count_x_out = (width + ((1 << shader_info.group_size_x_log2) - 1)) >>
|
||||||
|
|
|
@ -179,9 +179,9 @@ struct ViewportInfo {
|
||||||
// a viewport, plus values to multiply-add the returned position by, usable on
|
// a viewport, plus values to multiply-add the returned position by, usable on
|
||||||
// host graphics APIs such as Direct3D 11+ and Vulkan, also forcing it to the
|
// host graphics APIs such as Direct3D 11+ and Vulkan, also forcing it to the
|
||||||
// Direct3D clip space with 0...W Z rather than -W...W.
|
// Direct3D clip space with 0...W Z rather than -W...W.
|
||||||
void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale,
|
void GetHostViewportInfo(const RegisterFile& regs, uint32_t resolution_scale_x,
|
||||||
bool origin_bottom_left, uint32_t x_max,
|
uint32_t resolution_scale_y, bool origin_bottom_left,
|
||||||
uint32_t y_max, bool allow_reverse_z,
|
uint32_t x_max, uint32_t y_max, bool allow_reverse_z,
|
||||||
bool convert_z_to_float24, bool full_float24_in_0_to_1,
|
bool convert_z_to_float24, bool full_float24_in_0_to_1,
|
||||||
bool pixel_shader_writes_depth,
|
bool pixel_shader_writes_depth,
|
||||||
ViewportInfo& viewport_info_out);
|
ViewportInfo& viewport_info_out);
|
||||||
|
@ -205,6 +205,46 @@ constexpr uint32_t kDivideUpperShift5 = 2;
|
||||||
constexpr uint32_t kDivideScale15 = 0x88888889u;
|
constexpr uint32_t kDivideScale15 = 0x88888889u;
|
||||||
constexpr uint32_t kDivideUpperShift15 = 3;
|
constexpr uint32_t kDivideUpperShift15 = 3;
|
||||||
|
|
||||||
|
inline void GetEdramTileWidthDivideScaleAndUpperShift(
|
||||||
|
uint32_t resolution_scale_x, uint32_t& divide_scale,
|
||||||
|
uint32_t& divide_upper_shift) {
|
||||||
|
switch (resolution_scale_x) {
|
||||||
|
case 1:
|
||||||
|
divide_scale = kDivideScale5;
|
||||||
|
divide_upper_shift = kDivideUpperShift5 + 4;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
divide_scale = kDivideScale5;
|
||||||
|
divide_upper_shift = kDivideUpperShift5 + 5;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
divide_scale = kDivideScale15;
|
||||||
|
divide_upper_shift = kDivideUpperShift15 + 4;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
assert_unhandled_case(resolution_scale_x);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Never an identity conversion - can always write conditional move instructions
|
||||||
|
// to shaders that will be no-ops for conversion from guest to host samples.
|
||||||
|
// While we don't know the exact guest sample pattern, due to the way
|
||||||
|
// multisampled render targets are stored in the memory (like 1x2 single-sampled
|
||||||
|
// pixels with 2x MSAA, or like 2x2 single-sampled pixels with 4x), assuming
|
||||||
|
// that the sample 0 is the top sample, and the sample 1 is the bottom one.
|
||||||
|
inline uint32_t GetD3D10SampleIndexForGuest2xMSAA(
|
||||||
|
uint32_t guest_sample_index, bool native_2x_msaa_supported) {
|
||||||
|
assert(guest_sample_index <= 1);
|
||||||
|
if (native_2x_msaa_supported) {
|
||||||
|
// On Direct3D 10.1 with native 2x MSAA, the top-left sample is 1, and the
|
||||||
|
// bottom-right sample is 0.
|
||||||
|
return guest_sample_index ? 0 : 1;
|
||||||
|
}
|
||||||
|
// When native 2x MSAA is not supported, using the top-left (0) and the
|
||||||
|
// bottom-right (3) samples of the guaranteed 4x MSAA.
|
||||||
|
return guest_sample_index ? 3 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
// To avoid passing values that the shader won't understand (even though
|
// To avoid passing values that the shader won't understand (even though
|
||||||
// Direct3D 9 shouldn't pass them anyway).
|
// Direct3D 9 shouldn't pass them anyway).
|
||||||
xenos::CopySampleSelect SanitizeCopySampleSelect(
|
xenos::CopySampleSelect SanitizeCopySampleSelect(
|
||||||
|
@ -295,33 +335,14 @@ union ResolveCopyDestPitchPackedInfo {
|
||||||
enum class ResolveCopyShaderIndex {
|
enum class ResolveCopyShaderIndex {
|
||||||
kFast32bpp1x2xMSAA,
|
kFast32bpp1x2xMSAA,
|
||||||
kFast32bpp4xMSAA,
|
kFast32bpp4xMSAA,
|
||||||
kFast32bpp2xRes,
|
|
||||||
kFast32bpp3xRes1x2xMSAA,
|
|
||||||
kFast32bpp3xRes4xMSAA,
|
|
||||||
kFast64bpp1x2xMSAA,
|
kFast64bpp1x2xMSAA,
|
||||||
kFast64bpp4xMSAA,
|
kFast64bpp4xMSAA,
|
||||||
kFast64bpp2xRes,
|
|
||||||
kFast64bpp3xRes,
|
|
||||||
|
|
||||||
kFull8bpp,
|
kFull8bpp,
|
||||||
kFull8bpp2xRes,
|
|
||||||
kFull8bpp3xRes,
|
|
||||||
kFull16bpp,
|
kFull16bpp,
|
||||||
kFull16bpp2xRes,
|
|
||||||
kFull16bppFrom32bpp3xRes,
|
|
||||||
kFull16bppFrom64bpp3xRes,
|
|
||||||
kFull32bpp,
|
kFull32bpp,
|
||||||
kFull32bpp2xRes,
|
|
||||||
kFull32bppFrom32bpp3xRes,
|
|
||||||
kFull32bppFrom64bpp3xRes,
|
|
||||||
kFull64bpp,
|
kFull64bpp,
|
||||||
kFull64bpp2xRes,
|
|
||||||
kFull64bppFrom32bpp3xRes,
|
|
||||||
kFull64bppFrom64bpp3xRes,
|
|
||||||
kFull128bpp,
|
kFull128bpp,
|
||||||
kFull128bpp2xRes,
|
|
||||||
kFull128bppFrom32bpp3xRes,
|
|
||||||
kFull128bppFrom64bpp3xRes,
|
|
||||||
|
|
||||||
kCount,
|
kCount,
|
||||||
kUnknown = kCount,
|
kUnknown = kCount,
|
||||||
|
@ -330,9 +351,6 @@ enum class ResolveCopyShaderIndex {
|
||||||
struct ResolveCopyShaderInfo {
|
struct ResolveCopyShaderInfo {
|
||||||
// Debug name of the pipeline state object with this shader.
|
// Debug name of the pipeline state object with this shader.
|
||||||
const char* debug_name;
|
const char* debug_name;
|
||||||
// Only need to load this shader if the emulator resolution scale == this
|
|
||||||
// value.
|
|
||||||
uint32_t resolution_scale;
|
|
||||||
// Whether the EDRAM source needs be bound as a raw buffer (ByteAddressBuffer
|
// Whether the EDRAM source needs be bound as a raw buffer (ByteAddressBuffer
|
||||||
// in Direct3D) since it can load different numbers of 32-bit values at once
|
// in Direct3D) since it can load different numbers of 32-bit values at once
|
||||||
// on some hardware. If the host API doesn't support raw buffers, a typed
|
// on some hardware. If the host API doesn't support raw buffers, a typed
|
||||||
|
@ -427,8 +445,9 @@ struct ResolveInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
ResolveCopyShaderIndex GetCopyShader(
|
ResolveCopyShaderIndex GetCopyShader(
|
||||||
uint32_t resolution_scale, ResolveCopyShaderConstants& constants_out,
|
uint32_t resolution_scale_x, uint32_t resolution_scale_y,
|
||||||
uint32_t& group_count_x_out, uint32_t& group_count_y_out) const;
|
ResolveCopyShaderConstants& constants_out, uint32_t& group_count_x_out,
|
||||||
|
uint32_t& group_count_y_out) const;
|
||||||
|
|
||||||
bool IsClearingDepth() const {
|
bool IsClearingDepth() const {
|
||||||
return rb_copy_control.depth_clear_enable != 0;
|
return rb_copy_control.depth_clear_enable != 0;
|
||||||
|
@ -460,7 +479,8 @@ struct ResolveInfo {
|
||||||
constants_out.address_info = address;
|
constants_out.address_info = address;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::pair<uint32_t, uint32_t> GetClearShaderGroupCount() const {
|
std::pair<uint32_t, uint32_t> GetClearShaderGroupCount(
|
||||||
|
uint32_t resolution_scale_x, uint32_t resolution_scale_y) const {
|
||||||
// 8 guest MSAA samples per invocation.
|
// 8 guest MSAA samples per invocation.
|
||||||
uint32_t width_samples_div_8 = address.width_div_8;
|
uint32_t width_samples_div_8 = address.width_div_8;
|
||||||
uint32_t height_samples_div_8 = address.height_div_8;
|
uint32_t height_samples_div_8 = address.height_div_8;
|
||||||
|
@ -473,6 +493,8 @@ struct ResolveInfo {
|
||||||
width_samples_div_8 <<= 1;
|
width_samples_div_8 <<= 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
width_samples_div_8 *= resolution_scale_x;
|
||||||
|
height_samples_div_8 *= resolution_scale_y;
|
||||||
return std::make_pair((width_samples_div_8 + uint32_t(7)) >> 3,
|
return std::make_pair((width_samples_div_8 + uint32_t(7)) >> 3,
|
||||||
height_samples_div_8);
|
height_samples_div_8);
|
||||||
}
|
}
|
||||||
|
@ -484,10 +506,22 @@ struct ResolveInfo {
|
||||||
// emulated as snorm, with range limited to -1...1, but with correct blending
|
// emulated as snorm, with range limited to -1...1, but with correct blending
|
||||||
// within that range.
|
// within that range.
|
||||||
bool GetResolveInfo(const RegisterFile& regs, const Memory& memory,
|
bool GetResolveInfo(const RegisterFile& regs, const Memory& memory,
|
||||||
TraceWriter& trace_writer, uint32_t resolution_scale,
|
TraceWriter& trace_writer, bool is_resolution_scaled,
|
||||||
bool fixed_16_truncated_to_minus_1_to_1,
|
bool fixed_16_truncated_to_minus_1_to_1,
|
||||||
ResolveInfo& info_out);
|
ResolveInfo& info_out);
|
||||||
|
|
||||||
|
union ResolveResolutionScaleConstant {
|
||||||
|
uint32_t packed;
|
||||||
|
struct {
|
||||||
|
// 1 to 3.
|
||||||
|
uint32_t resolution_scale_x : 2;
|
||||||
|
uint32_t resolution_scale_y : 2;
|
||||||
|
};
|
||||||
|
ResolveResolutionScaleConstant() : packed(0) {
|
||||||
|
static_assert_size(*this, sizeof(packed));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Taking user configuration - stretching or letterboxing, overscan region to
|
// Taking user configuration - stretching or letterboxing, overscan region to
|
||||||
// crop to fill while maintaining the aspect ratio - into account, returns the
|
// crop to fill while maintaining the aspect ratio - into account, returns the
|
||||||
// area where the frame should be presented in the host window.
|
// area where the frame should be presented in the host window.
|
||||||
|
|
|
@ -647,6 +647,7 @@ enum class OperandType : uint32_t {
|
||||||
kInputControlPoint = 25,
|
kInputControlPoint = 25,
|
||||||
kInputDomainPoint = 28,
|
kInputDomainPoint = 28,
|
||||||
kUnorderedAccessView = 30,
|
kUnorderedAccessView = 30,
|
||||||
|
kInputThreadID = 32,
|
||||||
kInputThreadGroupID = 33,
|
kInputThreadGroupID = 33,
|
||||||
kInputThreadIDInGroup = 34,
|
kInputThreadIDInGroup = 34,
|
||||||
kInputCoverageMask = 35,
|
kInputCoverageMask = 35,
|
||||||
|
@ -880,6 +881,9 @@ struct Dest : OperandAddress {
|
||||||
return Dest(OperandType::kUnorderedAccessView, write_mask, index_1d,
|
return Dest(OperandType::kUnorderedAccessView, write_mask, index_1d,
|
||||||
index_2d);
|
index_2d);
|
||||||
}
|
}
|
||||||
|
static Dest VThreadID(uint32_t read_mask) {
|
||||||
|
return Dest(OperandType::kInputThreadID, read_mask);
|
||||||
|
}
|
||||||
static Dest VThreadGroupID(uint32_t read_mask) {
|
static Dest VThreadGroupID(uint32_t read_mask) {
|
||||||
return Dest(OperandType::kInputThreadGroupID, read_mask);
|
return Dest(OperandType::kInputThreadGroupID, read_mask);
|
||||||
}
|
}
|
||||||
|
@ -1052,6 +1056,9 @@ struct Src : OperandAddress {
|
||||||
return Src(OperandType::kUnorderedAccessView, kXYZW, id, lower_bound,
|
return Src(OperandType::kUnorderedAccessView, kXYZW, id, lower_bound,
|
||||||
upper_bound);
|
upper_bound);
|
||||||
}
|
}
|
||||||
|
static Src VThreadID(uint32_t swizzle = kXYZW) {
|
||||||
|
return Src(OperandType::kInputThreadID, swizzle);
|
||||||
|
}
|
||||||
static Src VThreadGroupID(uint32_t swizzle = kXYZW) {
|
static Src VThreadGroupID(uint32_t swizzle = kXYZW) {
|
||||||
return Src(OperandType::kInputThreadGroupID, swizzle);
|
return Src(OperandType::kInputThreadGroupID, swizzle);
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,8 +69,8 @@ using namespace ucode;
|
||||||
DxbcShaderTranslator::DxbcShaderTranslator(
|
DxbcShaderTranslator::DxbcShaderTranslator(
|
||||||
ui::GraphicsProvider::GpuVendorID vendor_id, bool bindless_resources_used,
|
ui::GraphicsProvider::GpuVendorID vendor_id, bool bindless_resources_used,
|
||||||
bool edram_rov_used, bool gamma_render_target_as_srgb,
|
bool edram_rov_used, bool gamma_render_target_as_srgb,
|
||||||
bool msaa_2x_supported, uint32_t draw_resolution_scale,
|
bool msaa_2x_supported, uint32_t draw_resolution_scale_x,
|
||||||
bool force_emit_source_map)
|
uint32_t draw_resolution_scale_y, bool force_emit_source_map)
|
||||||
: a_(shader_code_, statistics_),
|
: a_(shader_code_, statistics_),
|
||||||
ao_(shader_object_, statistics_),
|
ao_(shader_object_, statistics_),
|
||||||
vendor_id_(vendor_id),
|
vendor_id_(vendor_id),
|
||||||
|
@ -78,10 +78,13 @@ DxbcShaderTranslator::DxbcShaderTranslator(
|
||||||
edram_rov_used_(edram_rov_used),
|
edram_rov_used_(edram_rov_used),
|
||||||
gamma_render_target_as_srgb_(gamma_render_target_as_srgb),
|
gamma_render_target_as_srgb_(gamma_render_target_as_srgb),
|
||||||
msaa_2x_supported_(msaa_2x_supported),
|
msaa_2x_supported_(msaa_2x_supported),
|
||||||
draw_resolution_scale_(draw_resolution_scale),
|
draw_resolution_scale_x_(draw_resolution_scale_x),
|
||||||
|
draw_resolution_scale_y_(draw_resolution_scale_y),
|
||||||
emit_source_map_(force_emit_source_map || cvars::dxbc_source_map) {
|
emit_source_map_(force_emit_source_map || cvars::dxbc_source_map) {
|
||||||
assert_true(draw_resolution_scale >= 1);
|
assert_true(draw_resolution_scale_x >= 1);
|
||||||
assert_true(draw_resolution_scale <= 3);
|
assert_true(draw_resolution_scale_x <= 3);
|
||||||
|
assert_true(draw_resolution_scale_y >= 1);
|
||||||
|
assert_true(draw_resolution_scale_y <= 3);
|
||||||
// Don't allocate again and again for the first shader.
|
// Don't allocate again and again for the first shader.
|
||||||
shader_code_.reserve(8192);
|
shader_code_.reserve(8192);
|
||||||
shader_object_.reserve(16384);
|
shader_object_.reserve(16384);
|
||||||
|
@ -659,13 +662,17 @@ void DxbcShaderTranslator::StartPixelShader() {
|
||||||
in_position_used_ |= 0b0011;
|
in_position_used_ |= 0b0011;
|
||||||
a_.OpRoundNI(dxbc::Dest::R(param_gen_temp, 0b0011),
|
a_.OpRoundNI(dxbc::Dest::R(param_gen_temp, 0b0011),
|
||||||
dxbc::Src::V(uint32_t(InOutRegister::kPSInPosition)));
|
dxbc::Src::V(uint32_t(InOutRegister::kPSInPosition)));
|
||||||
if (draw_resolution_scale_ > 1) {
|
uint32_t resolution_scaled_axes =
|
||||||
|
uint32_t(draw_resolution_scale_x_ > 1) |
|
||||||
|
(uint32_t(draw_resolution_scale_y_ > 1) << 1);
|
||||||
|
if (resolution_scaled_axes) {
|
||||||
// Revert resolution scale - after truncating, so if the pixel position
|
// Revert resolution scale - after truncating, so if the pixel position
|
||||||
// is passed to tfetch (assuming the game doesn't round it by itself),
|
// is passed to tfetch (assuming the game doesn't round it by itself),
|
||||||
// it will be sampled with higher resolution too.
|
// it will be sampled with higher resolution too.
|
||||||
a_.OpMul(dxbc::Dest::R(param_gen_temp, 0b0011),
|
a_.OpMul(dxbc::Dest::R(param_gen_temp, resolution_scaled_axes),
|
||||||
dxbc::Src::R(param_gen_temp),
|
dxbc::Src::R(param_gen_temp),
|
||||||
dxbc::Src::LF(1.0f / draw_resolution_scale_));
|
dxbc::Src::LF(1.0f / draw_resolution_scale_x_,
|
||||||
|
1.0f / draw_resolution_scale_y_, 1.0f, 1.0f));
|
||||||
}
|
}
|
||||||
a_.OpMov(dxbc::Dest::R(param_gen_temp, 0b0011),
|
a_.OpMov(dxbc::Dest::R(param_gen_temp, 0b0011),
|
||||||
dxbc::Src::R(param_gen_temp).Abs());
|
dxbc::Src::R(param_gen_temp).Abs());
|
||||||
|
@ -2001,7 +2008,8 @@ const DxbcShaderTranslator::SystemConstantRdef
|
||||||
{"xe_textures_resolved", ShaderRdefTypeIndex::kUint, sizeof(uint32_t)},
|
{"xe_textures_resolved", ShaderRdefTypeIndex::kUint, sizeof(uint32_t)},
|
||||||
{"xe_alpha_test_reference", ShaderRdefTypeIndex::kFloat, sizeof(float)},
|
{"xe_alpha_test_reference", ShaderRdefTypeIndex::kFloat, sizeof(float)},
|
||||||
{"xe_alpha_to_mask", ShaderRdefTypeIndex::kUint, sizeof(uint32_t)},
|
{"xe_alpha_to_mask", ShaderRdefTypeIndex::kUint, sizeof(uint32_t)},
|
||||||
{"xe_edram_pitch_tiles", ShaderRdefTypeIndex::kUint, sizeof(uint32_t)},
|
{"xe_edram_32bpp_tile_pitch_dwords_scaled", ShaderRdefTypeIndex::kUint,
|
||||||
|
sizeof(uint32_t)},
|
||||||
|
|
||||||
{"xe_color_exp_bias", ShaderRdefTypeIndex::kFloat4, sizeof(float) * 4},
|
{"xe_color_exp_bias", ShaderRdefTypeIndex::kFloat4, sizeof(float) * 4},
|
||||||
|
|
||||||
|
@ -2010,7 +2018,7 @@ const DxbcShaderTranslator::SystemConstantRdef
|
||||||
{"xe_edram_poly_offset_back", ShaderRdefTypeIndex::kFloat2,
|
{"xe_edram_poly_offset_back", ShaderRdefTypeIndex::kFloat2,
|
||||||
sizeof(float) * 2},
|
sizeof(float) * 2},
|
||||||
|
|
||||||
{"xe_edram_depth_base_dwords", ShaderRdefTypeIndex::kUint,
|
{"xe_edram_depth_base_dwords_scaled", ShaderRdefTypeIndex::kUint,
|
||||||
sizeof(uint32_t), sizeof(float) * 3},
|
sizeof(uint32_t), sizeof(float) * 3},
|
||||||
|
|
||||||
{"xe_edram_stencil", ShaderRdefTypeIndex::kUint4Array2,
|
{"xe_edram_stencil", ShaderRdefTypeIndex::kUint4Array2,
|
||||||
|
|
|
@ -50,7 +50,8 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||||
bool bindless_resources_used, bool edram_rov_used,
|
bool bindless_resources_used, bool edram_rov_used,
|
||||||
bool gamma_render_target_as_srgb = false,
|
bool gamma_render_target_as_srgb = false,
|
||||||
bool msaa_2x_supported = true,
|
bool msaa_2x_supported = true,
|
||||||
uint32_t draw_resolution_scale = 1,
|
uint32_t draw_resolution_scale_x = 1,
|
||||||
|
uint32_t draw_resolution_scale_y = 1,
|
||||||
bool force_emit_source_map = false);
|
bool force_emit_source_map = false);
|
||||||
~DxbcShaderTranslator() override;
|
~DxbcShaderTranslator() override;
|
||||||
|
|
||||||
|
@ -265,7 +266,7 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||||
// If alpha to mask is enabled, bits 0:7 are sample offsets, and bit 8 must
|
// If alpha to mask is enabled, bits 0:7 are sample offsets, and bit 8 must
|
||||||
// be 1.
|
// be 1.
|
||||||
uint32_t alpha_to_mask;
|
uint32_t alpha_to_mask;
|
||||||
uint32_t edram_pitch_tiles;
|
uint32_t edram_32bpp_tile_pitch_dwords_scaled;
|
||||||
|
|
||||||
float color_exp_bias[4];
|
float color_exp_bias[4];
|
||||||
|
|
||||||
|
@ -284,8 +285,8 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||||
float edram_poly_offset_back[2];
|
float edram_poly_offset_back[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32_t edram_depth_base_dwords;
|
uint32_t edram_depth_base_dwords_scaled;
|
||||||
uint32_t padding_edram_depth_base_dwords[3];
|
uint32_t padding_edram_depth_base_dwords_scaled[3];
|
||||||
|
|
||||||
// In stencil function/operations (they match the layout of the
|
// In stencil function/operations (they match the layout of the
|
||||||
// function/operations in RB_DEPTHCONTROL):
|
// function/operations in RB_DEPTHCONTROL):
|
||||||
|
@ -369,14 +370,14 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||||
kTexturesResolved,
|
kTexturesResolved,
|
||||||
kAlphaTestReference,
|
kAlphaTestReference,
|
||||||
kAlphaToMask,
|
kAlphaToMask,
|
||||||
kEdramPitchTiles,
|
kEdram32bppTilePitchDwordsScaled,
|
||||||
|
|
||||||
kColorExpBias,
|
kColorExpBias,
|
||||||
|
|
||||||
kEdramPolyOffsetFront,
|
kEdramPolyOffsetFront,
|
||||||
kEdramPolyOffsetBack,
|
kEdramPolyOffsetBack,
|
||||||
|
|
||||||
kEdramDepthBaseDwords,
|
kEdramDepthBaseDwordsScaled,
|
||||||
|
|
||||||
kEdramStencil,
|
kEdramStencil,
|
||||||
|
|
||||||
|
@ -947,7 +948,8 @@ class DxbcShaderTranslator : public ShaderTranslator {
|
||||||
bool msaa_2x_supported_;
|
bool msaa_2x_supported_;
|
||||||
|
|
||||||
// Guest pixel host width / height.
|
// Guest pixel host width / height.
|
||||||
uint32_t draw_resolution_scale_;
|
uint32_t draw_resolution_scale_x_;
|
||||||
|
uint32_t draw_resolution_scale_y_;
|
||||||
|
|
||||||
// Is currently writing the empty depth-only pixel shader, for
|
// Is currently writing the empty depth-only pixel shader, for
|
||||||
// CompleteTranslation.
|
// CompleteTranslation.
|
||||||
|
|
|
@ -693,13 +693,14 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get offsets applied to the coordinates before sampling.
|
// Get offsets applied to the coordinates before sampling.
|
||||||
|
// `offsets` is used for float4 literal construction,
|
||||||
// FIXME(Triang3l): Offsets need to be applied at the LOD being fetched, not
|
// FIXME(Triang3l): Offsets need to be applied at the LOD being fetched, not
|
||||||
// at LOD 0. However, since offsets have granularity of 0.5, not 1, on the
|
// at LOD 0. However, since offsets have granularity of 0.5, not 1, on the
|
||||||
// Xbox 360, they can't be passed directly as AOffImmI to the `sample`
|
// Xbox 360, they can't be passed directly as AOffImmI to the `sample`
|
||||||
// instruction (plus-minus 0.5 offsets are very common in games). But
|
// instruction (plus-minus 0.5 offsets are very common in games). But
|
||||||
// offsetting at mip levels is a rare usage case, mostly offsets are used for
|
// offsetting at mip levels is a rare usage case, mostly offsets are used for
|
||||||
// things like shadow maps and blur, where there are no mips.
|
// things like shadow maps and blur, where there are no mips.
|
||||||
float offsets[4] = {};
|
float offsets[3] = {};
|
||||||
// MSDN doesn't list offsets as getCompTexLOD parameters.
|
// MSDN doesn't list offsets as getCompTexLOD parameters.
|
||||||
if (instr.opcode != FetchOpcode::kGetTextureComputedLod) {
|
if (instr.opcode != FetchOpcode::kGetTextureComputedLod) {
|
||||||
// Add a small epsilon to the offset (1.5/4 the fixed-point texture
|
// Add a small epsilon to the offset (1.5/4 the fixed-point texture
|
||||||
|
@ -770,6 +771,8 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
offsets_not_zero |= 1 << i;
|
offsets_not_zero |= 1 << i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
dxbc::Src offsets_src(
|
||||||
|
dxbc::Src::LF(offsets[0], offsets[1], offsets[2], 0.0f));
|
||||||
|
|
||||||
// Load the texture size if needed.
|
// Load the texture size if needed.
|
||||||
// 1D: X - width.
|
// 1D: X - width.
|
||||||
|
@ -894,8 +897,11 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
dxbc::Src::R(size_and_is_3d_temp));
|
dxbc::Src::R(size_and_is_3d_temp));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bool revert_resolution_scale = draw_resolution_scale_ > 1 &&
|
uint32_t revert_resolution_scale_axes =
|
||||||
cvars::draw_resolution_scaled_texture_offsets;
|
cvars::draw_resolution_scaled_texture_offsets
|
||||||
|
? uint32_t(draw_resolution_scale_x_ > 1) |
|
||||||
|
(uint32_t(draw_resolution_scale_y_ > 1) << 1)
|
||||||
|
: 0;
|
||||||
|
|
||||||
if (instr.opcode == FetchOpcode::kGetTextureWeights) {
|
if (instr.opcode == FetchOpcode::kGetTextureWeights) {
|
||||||
// FIXME(Triang3l): Mip lerp factor needs to be calculated, and the
|
// FIXME(Triang3l): Mip lerp factor needs to be calculated, and the
|
||||||
|
@ -920,8 +926,7 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
// If needed, apply the resolution scale to the width / height and the
|
// If needed, apply the resolution scale to the width / height and the
|
||||||
// unnormalized coordinates.
|
// unnormalized coordinates.
|
||||||
uint32_t resolution_scaled_result_components =
|
uint32_t resolution_scaled_result_components =
|
||||||
revert_resolution_scale ? used_result_nonzero_components & 0b0011
|
used_result_nonzero_components & revert_resolution_scale_axes;
|
||||||
: 0b0000;
|
|
||||||
uint32_t resolution_scaled_coord_components =
|
uint32_t resolution_scaled_coord_components =
|
||||||
instr.attributes.unnormalized_coordinates
|
instr.attributes.unnormalized_coordinates
|
||||||
? resolution_scaled_result_components
|
? resolution_scaled_result_components
|
||||||
|
@ -952,7 +957,8 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
a_.OpIf(true, dxbc::Src::R(system_temp_result_, dxbc::Src::kWWWW));
|
a_.OpIf(true, dxbc::Src::R(system_temp_result_, dxbc::Src::kWWWW));
|
||||||
// The texture is resolved - scale the coordinates and the size.
|
// The texture is resolved - scale the coordinates and the size.
|
||||||
dxbc::Src resolution_scale_src(
|
dxbc::Src resolution_scale_src(
|
||||||
dxbc::Src::LF(float(draw_resolution_scale_)));
|
dxbc::Src::LF(float(draw_resolution_scale_x_),
|
||||||
|
float(draw_resolution_scale_y_), 1.0f, 1.0f));
|
||||||
if (resolution_scaled_coord_components) {
|
if (resolution_scaled_coord_components) {
|
||||||
a_.OpMul(dxbc::Dest::R(system_temp_result_,
|
a_.OpMul(dxbc::Dest::R(system_temp_result_,
|
||||||
resolution_scaled_coord_components),
|
resolution_scaled_coord_components),
|
||||||
|
@ -975,14 +981,14 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
dxbc::Dest::R(system_temp_result_, used_result_nonzero_components));
|
dxbc::Dest::R(system_temp_result_, used_result_nonzero_components));
|
||||||
if (instr.attributes.unnormalized_coordinates) {
|
if (instr.attributes.unnormalized_coordinates) {
|
||||||
if (offsets_needed) {
|
if (offsets_needed) {
|
||||||
a_.OpAdd(coord_dest, coord_operand, dxbc::Src::LP(offsets));
|
a_.OpAdd(coord_dest, coord_operand, offsets_src);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
assert_true((size_needed_components & used_result_nonzero_components) ==
|
assert_true((size_needed_components & used_result_nonzero_components) ==
|
||||||
used_result_nonzero_components);
|
used_result_nonzero_components);
|
||||||
if (offsets_needed) {
|
if (offsets_needed) {
|
||||||
a_.OpMAd(coord_dest, coord_operand, dxbc::Src::R(size_and_is_3d_temp),
|
a_.OpMAd(coord_dest, coord_operand, dxbc::Src::R(size_and_is_3d_temp),
|
||||||
dxbc::Src::LP(offsets));
|
offsets_src);
|
||||||
} else {
|
} else {
|
||||||
a_.OpMul(coord_dest, coord_operand,
|
a_.OpMul(coord_dest, coord_operand,
|
||||||
dxbc::Src::R(size_and_is_3d_temp));
|
dxbc::Src::R(size_and_is_3d_temp));
|
||||||
|
@ -1048,8 +1054,7 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
uint32_t normalized_components_with_offsets =
|
uint32_t normalized_components_with_offsets =
|
||||||
normalized_components & offsets_not_zero;
|
normalized_components & offsets_not_zero;
|
||||||
uint32_t normalized_components_with_scaled_offsets =
|
uint32_t normalized_components_with_scaled_offsets =
|
||||||
revert_resolution_scale ? normalized_components_with_offsets & 0b0011
|
normalized_components_with_offsets & revert_resolution_scale_axes;
|
||||||
: 0;
|
|
||||||
uint32_t normalized_components_with_unscaled_offsets =
|
uint32_t normalized_components_with_unscaled_offsets =
|
||||||
normalized_components_with_offsets &
|
normalized_components_with_offsets &
|
||||||
~normalized_components_with_scaled_offsets;
|
~normalized_components_with_scaled_offsets;
|
||||||
|
@ -1073,20 +1078,23 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
offsetof(SystemConstants, textures_resolved),
|
offsetof(SystemConstants, textures_resolved),
|
||||||
dxbc::Src::kXXXX),
|
dxbc::Src::kXXXX),
|
||||||
dxbc::Src::LU(uint32_t(1) << tfetch_index));
|
dxbc::Src::LU(uint32_t(1) << tfetch_index));
|
||||||
a_.OpMovC(dxbc::Dest::R(coord_and_sampler_temp, 0b1000),
|
a_.OpIf(true, dxbc::Src::R(coord_and_sampler_temp, dxbc::Src::kWWWW));
|
||||||
dxbc::Src::R(coord_and_sampler_temp, dxbc::Src::kWWWW),
|
a_.OpAdd(
|
||||||
dxbc::Src::LF(1.0f / draw_resolution_scale_),
|
dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
dxbc::Src::LF(1.0f));
|
normalized_components_with_scaled_offsets),
|
||||||
a_.OpMAd(dxbc::Dest::R(coord_and_sampler_temp,
|
coord_operand,
|
||||||
|
dxbc::Src::LF(offsets[0] / draw_resolution_scale_x_,
|
||||||
|
offsets[1] / draw_resolution_scale_y_, 0.0f, 0.0f));
|
||||||
|
a_.OpElse();
|
||||||
|
a_.OpAdd(dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
normalized_components_with_scaled_offsets),
|
normalized_components_with_scaled_offsets),
|
||||||
dxbc::Src::LP(offsets),
|
coord_operand, offsets_src);
|
||||||
dxbc::Src::R(coord_and_sampler_temp, dxbc::Src::kWWWW),
|
a_.OpEndIf();
|
||||||
coord_operand);
|
|
||||||
}
|
}
|
||||||
if (normalized_components_with_unscaled_offsets) {
|
if (normalized_components_with_unscaled_offsets) {
|
||||||
a_.OpAdd(dxbc::Dest::R(coord_and_sampler_temp,
|
a_.OpAdd(dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
normalized_components_with_unscaled_offsets),
|
normalized_components_with_unscaled_offsets),
|
||||||
coord_operand, dxbc::Src::LP(offsets));
|
coord_operand, offsets_src);
|
||||||
}
|
}
|
||||||
if (normalized_components_without_offsets) {
|
if (normalized_components_without_offsets) {
|
||||||
a_.OpMov(dxbc::Dest::R(coord_and_sampler_temp,
|
a_.OpMov(dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
|
@ -1129,7 +1137,7 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
normalized_components_with_offsets);
|
normalized_components_with_offsets);
|
||||||
a_.OpDiv(dxbc::Dest::R(coord_and_sampler_temp,
|
a_.OpDiv(dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
normalized_components_with_offsets),
|
normalized_components_with_offsets),
|
||||||
dxbc::Src::LP(offsets), dxbc::Src::R(size_and_is_3d_temp));
|
offsets_src, dxbc::Src::R(size_and_is_3d_temp));
|
||||||
if (normalized_components_with_scaled_offsets) {
|
if (normalized_components_with_scaled_offsets) {
|
||||||
// Using coord_and_sampler_temp.w as a temporary for the needed
|
// Using coord_and_sampler_temp.w as a temporary for the needed
|
||||||
// resolution scale inverse - sampler not loaded yet.
|
// resolution scale inverse - sampler not loaded yet.
|
||||||
|
@ -1139,15 +1147,18 @@ void DxbcShaderTranslator::ProcessTextureFetchInstruction(
|
||||||
offsetof(SystemConstants, textures_resolved),
|
offsetof(SystemConstants, textures_resolved),
|
||||||
dxbc::Src::kXXXX),
|
dxbc::Src::kXXXX),
|
||||||
dxbc::Src::LU(uint32_t(1) << tfetch_index));
|
dxbc::Src::LU(uint32_t(1) << tfetch_index));
|
||||||
a_.OpMovC(dxbc::Dest::R(coord_and_sampler_temp, 0b1000),
|
a_.OpIf(true, dxbc::Src::R(coord_and_sampler_temp, dxbc::Src::kWWWW));
|
||||||
dxbc::Src::R(coord_and_sampler_temp, dxbc::Src::kWWWW),
|
|
||||||
dxbc::Src::LF(1.0f / draw_resolution_scale_),
|
|
||||||
dxbc::Src::LF(1.0f));
|
|
||||||
a_.OpMAd(dxbc::Dest::R(coord_and_sampler_temp,
|
a_.OpMAd(dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
normalized_components_with_scaled_offsets),
|
normalized_components_with_scaled_offsets),
|
||||||
dxbc::Src::R(coord_and_sampler_temp),
|
dxbc::Src::R(coord_and_sampler_temp),
|
||||||
dxbc::Src::R(coord_and_sampler_temp, dxbc::Src::kWWWW),
|
dxbc::Src::LF(1.0f / draw_resolution_scale_x_,
|
||||||
|
1.0f / draw_resolution_scale_y_, 1.0f, 1.0f),
|
||||||
coord_operand);
|
coord_operand);
|
||||||
|
a_.OpElse();
|
||||||
|
a_.OpAdd(dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
|
normalized_components_with_scaled_offsets),
|
||||||
|
coord_operand, dxbc::Src::R(coord_and_sampler_temp));
|
||||||
|
a_.OpEndIf();
|
||||||
}
|
}
|
||||||
if (normalized_components_with_unscaled_offsets) {
|
if (normalized_components_with_unscaled_offsets) {
|
||||||
a_.OpAdd(dxbc::Dest::R(coord_and_sampler_temp,
|
a_.OpAdd(dxbc::Dest::R(coord_and_sampler_temp,
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "xenia/base/assert.h"
|
#include "xenia/base/assert.h"
|
||||||
|
#include "xenia/base/math.h"
|
||||||
#include "xenia/gpu/draw_util.h"
|
#include "xenia/gpu/draw_util.h"
|
||||||
#include "xenia/gpu/dxbc_shader_translator.h"
|
#include "xenia/gpu/dxbc_shader_translator.h"
|
||||||
|
|
||||||
|
@ -121,52 +122,74 @@ void DxbcShaderTranslator::ExportToMemory() {
|
||||||
// 0 or 0xFFFFFFFF.
|
// 0 or 0xFFFFFFFF.
|
||||||
bool inner_condition_provided = false;
|
bool inner_condition_provided = false;
|
||||||
if (is_pixel_shader()) {
|
if (is_pixel_shader()) {
|
||||||
if (draw_resolution_scale_ > 1) {
|
uint32_t resolution_scaled_axes =
|
||||||
|
uint32_t(draw_resolution_scale_x_ > 1) |
|
||||||
|
(uint32_t(draw_resolution_scale_y_ > 1) << 1);
|
||||||
|
if (resolution_scaled_axes) {
|
||||||
// Only do memexport for one host pixel in a guest pixel.
|
// Only do memexport for one host pixel in a guest pixel.
|
||||||
// For 2x - (1, 1) because it's covered with half-pixel offset that
|
// For 2x - pixel 1 because it's covered with half-pixel offset that
|
||||||
// becomes full-pixel.
|
// becomes full-pixel.
|
||||||
// For 3x - also (1, 1) because it's still covered with half-pixel offset,
|
// For 3x - also pixel 1 because it's still covered with half-pixel
|
||||||
// but close to the center.
|
// offset, but close to the center.
|
||||||
in_position_used_ |= 0b0011;
|
// If X needs resolution scaling, writing 1 or 0 - whether the column is
|
||||||
|
// the one where memexport should be done - to control_temp.y.
|
||||||
|
// For Y, doing that to control_temp.z.
|
||||||
|
// Then, if both axes are resolution-scaled, merging the conditions for
|
||||||
|
// the two.
|
||||||
|
in_position_used_ |= resolution_scaled_axes;
|
||||||
a_.OpFToU(
|
a_.OpFToU(
|
||||||
dxbc::Dest::R(control_temp, 0b0110),
|
dxbc::Dest::R(control_temp, resolution_scaled_axes << 1),
|
||||||
dxbc::Src::V(uint32_t(InOutRegister::kPSInPosition), 0b0100 << 2));
|
dxbc::Src::V(uint32_t(InOutRegister::kPSInPosition), 0b0100 << 2));
|
||||||
switch (draw_resolution_scale_) {
|
dxbc::Dest resolution_scaling_temp_dest(
|
||||||
case 2:
|
dxbc::Dest::R(control_temp, 0b1000));
|
||||||
a_.OpAnd(dxbc::Dest::R(control_temp, 0b0110),
|
dxbc::Src resolution_scaling_temp_src(
|
||||||
dxbc::Src::R(control_temp), dxbc::Src::LU(1));
|
dxbc::Src::R(control_temp, dxbc::Src::kWWWW));
|
||||||
// No need to do IEq - already 1 for right / bottom, 0 for left / top.
|
for (uint32_t i = 0; i < 2; ++i) {
|
||||||
break;
|
if (!(resolution_scaled_axes & (1 << i))) {
|
||||||
case 3:
|
continue;
|
||||||
// xy % 3 == 1.
|
}
|
||||||
for (uint32_t i = 1; i <= 2; ++i) {
|
// If there's no inner condition in control_temp.x yet, the condition
|
||||||
a_.OpUMul(dxbc::Dest::R(control_temp, 0b1000), dxbc::Dest::Null(),
|
// for the current axis can go directly to it. Otherwise, need to merge
|
||||||
dxbc::Src::R(control_temp).Select(i),
|
// with the previous condition, using control_temp.w as an intermediate
|
||||||
|
// variable.
|
||||||
|
dxbc::Dest resolution_scaled_axis_result(
|
||||||
|
inner_condition_provided ? resolution_scaling_temp_dest
|
||||||
|
: dxbc::Dest::R(control_temp, 0b0001));
|
||||||
|
dxbc::Src resolution_scaled_axis_src(
|
||||||
|
dxbc::Src::R(control_temp).Select(1 + i));
|
||||||
|
uint32_t axis_resolution_scale =
|
||||||
|
i ? draw_resolution_scale_y_ : draw_resolution_scale_x_;
|
||||||
|
switch (axis_resolution_scale) {
|
||||||
|
case 2:
|
||||||
|
// xy & 1 == 1.
|
||||||
|
a_.OpAnd(resolution_scaled_axis_result, resolution_scaled_axis_src,
|
||||||
|
dxbc::Src::LU(1));
|
||||||
|
// No need to do IEq - already 1 for right / bottom, 0 for left /
|
||||||
|
// top.
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
// xy % 3 == 1.
|
||||||
|
a_.OpUMul(resolution_scaling_temp_dest, dxbc::Dest::Null(),
|
||||||
|
resolution_scaled_axis_src,
|
||||||
dxbc::Src::LU(draw_util::kDivideScale3));
|
dxbc::Src::LU(draw_util::kDivideScale3));
|
||||||
a_.OpUShR(dxbc::Dest::R(control_temp, 0b1000),
|
a_.OpUShR(resolution_scaling_temp_dest, resolution_scaling_temp_src,
|
||||||
dxbc::Src::R(control_temp, dxbc::Src::kWWWW),
|
|
||||||
dxbc::Src::LU(draw_util::kDivideUpperShift3));
|
dxbc::Src::LU(draw_util::kDivideUpperShift3));
|
||||||
a_.OpIMAd(dxbc::Dest::R(control_temp, 1 << i),
|
a_.OpIMAd(resolution_scaling_temp_dest, resolution_scaling_temp_src,
|
||||||
dxbc::Src::R(control_temp, dxbc::Src::kWWWW),
|
dxbc::Src::LI(-3), resolution_scaled_axis_src);
|
||||||
dxbc::Src::LI(-3), dxbc::Src::R(control_temp).Select(i));
|
a_.OpIEq(resolution_scaled_axis_result, resolution_scaling_temp_src,
|
||||||
}
|
dxbc::Src::LU(1));
|
||||||
a_.OpIEq(dxbc::Dest::R(control_temp, 0b0110),
|
break;
|
||||||
dxbc::Src::R(control_temp), dxbc::Src::LU(1));
|
default:
|
||||||
break;
|
assert_unhandled_case(axis_resolution_scale);
|
||||||
default:
|
}
|
||||||
assert_unhandled_case(draw_resolution_scale_);
|
if (inner_condition_provided) {
|
||||||
|
// Merge with the previous condition in control_temp.x.
|
||||||
|
a_.OpAnd(dxbc::Dest::R(control_temp, 0b0001),
|
||||||
|
dxbc::Src::R(control_temp, dxbc::Src::kXXXX),
|
||||||
|
resolution_scaling_temp_src);
|
||||||
|
}
|
||||||
|
inner_condition_provided = true;
|
||||||
}
|
}
|
||||||
a_.OpAnd(dxbc::Dest::R(control_temp,
|
|
||||||
inner_condition_provided ? 0b0010 : 0b0001),
|
|
||||||
dxbc::Src::R(control_temp, dxbc::Src::kYYYY),
|
|
||||||
dxbc::Src::R(control_temp, dxbc::Src::kZZZZ));
|
|
||||||
if (inner_condition_provided) {
|
|
||||||
// Merge with the previous condition in control_temp.x.
|
|
||||||
a_.OpAnd(dxbc::Dest::R(control_temp, 0b0001),
|
|
||||||
dxbc::Src::R(control_temp, dxbc::Src::kXXXX),
|
|
||||||
dxbc::Src::R(control_temp, dxbc::Src::kYYYY));
|
|
||||||
}
|
|
||||||
inner_condition_provided = true;
|
|
||||||
}
|
}
|
||||||
// With sample-rate shading (with float24 conversion), only do memexport
|
// With sample-rate shading (with float24 conversion), only do memexport
|
||||||
// from one sample (as the shader is invoked multiple times for a pixel),
|
// from one sample (as the shader is invoked multiple times for a pixel),
|
||||||
|
|
|
@ -156,212 +156,379 @@ void DxbcShaderTranslator::StartPixelShader_LoadROVParameters() {
|
||||||
// system_temp_rov_params_.w - for 64bpp color (base-relative).
|
// system_temp_rov_params_.w - for 64bpp color (base-relative).
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
||||||
uint32_t resolution_scale_host_pixel_temp = UINT32_MAX;
|
// For now, while we don't know the encoding of 64bpp render targets when
|
||||||
if (draw_resolution_scale_ > 1) {
|
// interpreted as 32bpp (no game has been seen reinterpreting between the two
|
||||||
// Convert the host pixel position to integer to
|
// yet), for consistency with the conventional render target logic and to have
|
||||||
// resolution_scale_host_pixel_temp.xy.
|
// the same resolve logic for both, storing 64bpp color as 40x16 samples
|
||||||
// resolution_scale_host_pixel_temp.x = X host pixel position as uint
|
// (multiplied by the resolution scale) per 1280-byte tile. It's also
|
||||||
// resolution_scale_host_pixel_temp.y = Y host pixel position as uint
|
// convenient to use 40x16 granularity in the calculations here because depth
|
||||||
resolution_scale_host_pixel_temp = PushSystemTemp();
|
// render targets have 40-sample halves swapped as opposed to color in each
|
||||||
in_position_used_ |= 0b0011;
|
// tile, and reinterpretation between depth and color is common for depth /
|
||||||
a_.OpFToU(dxbc::Dest::R(resolution_scale_host_pixel_temp, 0b0011),
|
// stencil reloading into the EDRAM (such as in the background of the main
|
||||||
dxbc::Src::V(uint32_t(InOutRegister::kPSInPosition)));
|
// menu of 4D5307E6).
|
||||||
// Revert the resolution scale to convert the position to guest pixels.
|
|
||||||
// system_temp_rov_params_.z = X guest pixel position / sample width
|
// Convert the host pixel position to integer to system_temp_rov_params_.xy.
|
||||||
// system_temp_rov_params_.w = Y guest pixel position / sample height
|
// system_temp_rov_params_.x = X host pixel position as uint
|
||||||
// Also, get the linear host pixel index within the guest pixel.
|
// system_temp_rov_params_.y = Y host pixel position as uint
|
||||||
// resolution_scale_host_pixel_temp.x = host pixel linear index
|
in_position_used_ |= 0b0011;
|
||||||
switch (draw_resolution_scale_) {
|
a_.OpFToU(dxbc::Dest::R(system_temp_rov_params_, 0b0011),
|
||||||
case 2:
|
dxbc::Src::V(uint32_t(InOutRegister::kPSInPosition)));
|
||||||
// Guest pixel index.
|
|
||||||
a_.OpUShR(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, 0b0100 << 4),
|
|
||||||
dxbc::Src::LU(1));
|
|
||||||
// Host pixel index within the guest pixel.
|
|
||||||
a_.OpAnd(
|
|
||||||
dxbc::Dest::R(resolution_scale_host_pixel_temp, 0b0001),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, dxbc::Src::kXXXX),
|
|
||||||
dxbc::Src::LU(1));
|
|
||||||
a_.OpBFI(
|
|
||||||
dxbc::Dest::R(resolution_scale_host_pixel_temp, 0b0001),
|
|
||||||
dxbc::Src::LU(1), dxbc::Src::LU(1),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, dxbc::Src::kYYYY),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, dxbc::Src::kXXXX));
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
// Guest pixel index.
|
|
||||||
a_.OpUMul(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
|
||||||
dxbc::Dest::Null(),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, 0b0100 << 4),
|
|
||||||
dxbc::Src::LU(draw_util::kDivideScale3));
|
|
||||||
a_.OpUShR(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_),
|
|
||||||
dxbc::Src::LU(draw_util::kDivideUpperShift3));
|
|
||||||
// Host pixel index.
|
|
||||||
a_.OpIMAd(dxbc::Dest::R(resolution_scale_host_pixel_temp, 0b0011),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, 0b1110),
|
|
||||||
dxbc::Src::LI(-3),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp));
|
|
||||||
a_.OpUMAd(
|
|
||||||
dxbc::Dest::R(resolution_scale_host_pixel_temp, 0b0001),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, dxbc::Src::kYYYY),
|
|
||||||
dxbc::Src::LU(3),
|
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, dxbc::Src::kXXXX));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
assert_unhandled_case(draw_resolution_scale_);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Convert the host pixel position to integer to system_temp_rov_params_.zw.
|
|
||||||
// system_temp_rov_params_.z = X host pixel position as uint
|
|
||||||
// system_temp_rov_params_.w = Y host pixel position as uint
|
|
||||||
in_position_used_ |= 0b0011;
|
|
||||||
a_.OpFToU(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
|
||||||
dxbc::Src::V(uint32_t(InOutRegister::kPSInPosition), 0b01000000));
|
|
||||||
}
|
|
||||||
// Convert the position from pixels to samples.
|
// Convert the position from pixels to samples.
|
||||||
// system_temp_rov_params_.z = X guest sample 0 position
|
// system_temp_rov_params_.x = X sample 0 position
|
||||||
// system_temp_rov_params_.w = Y guest sample 0 position
|
// system_temp_rov_params_.y = Y sample 0 position
|
||||||
a_.OpIShL(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
a_.OpIShL(
|
||||||
dxbc::Src::R(system_temp_rov_params_),
|
dxbc::Dest::R(system_temp_rov_params_, 0b0011),
|
||||||
LoadSystemConstant(SystemConstants::Index::kSampleCountLog2,
|
dxbc::Src::R(system_temp_rov_params_),
|
||||||
offsetof(SystemConstants, sample_count_log2),
|
LoadSystemConstant(SystemConstants::Index::kSampleCountLog2,
|
||||||
0b0100 << 4));
|
offsetof(SystemConstants, sample_count_log2), 0b0100));
|
||||||
// Get 80x16 samples tile index - start dividing X by 80 by getting the high
|
// For cases of both color and depth:
|
||||||
// part of the result of multiplication of X by kDivideScale5 into X.
|
// Get 40 x 16 x resolution scale 32bpp half-tile or 40x16 64bpp tile index
|
||||||
// system_temp_rov_params_.x = (X * kDivideScale5) >> 32
|
// to system_temp_rov_params_.zw, and put the sample index within such a
|
||||||
// system_temp_rov_params_.z = X guest sample 0 position
|
// region in system_temp_rov_params_.xy.
|
||||||
// system_temp_rov_params_.w = Y guest sample 0 position
|
// Working with 40x16-sample portions for 64bpp and for swapping for depth -
|
||||||
a_.OpUMul(dxbc::Dest::R(system_temp_rov_params_, 0b0001), dxbc::Dest::Null(),
|
// dividing by 40, not by 80.
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
// For depth-only:
|
||||||
dxbc::Src::LU(draw_util::kDivideScale5));
|
// Same, but for full 80x16 tiles, not 40x16 half-tiles.
|
||||||
// Get 80x16 samples tile index - finish dividing X by 80 and divide Y by 16
|
uint32_t tile_or_half_tile_width = 80 * draw_resolution_scale_x_;
|
||||||
// into system_temp_rov_params_.xy.
|
uint32_t tile_or_half_tile_width_divide_scale;
|
||||||
// system_temp_rov_params_.x = X tile position
|
uint32_t tile_or_half_tile_width_divide_upper_shift;
|
||||||
// system_temp_rov_params_.y = Y tile position
|
draw_util::GetEdramTileWidthDivideScaleAndUpperShift(
|
||||||
// system_temp_rov_params_.z = X guest sample 0 position
|
draw_resolution_scale_x_, tile_or_half_tile_width_divide_scale,
|
||||||
// system_temp_rov_params_.w = Y guest sample 0 position
|
tile_or_half_tile_width_divide_upper_shift);
|
||||||
a_.OpUShR(dxbc::Dest::R(system_temp_rov_params_, 0b0011),
|
if (any_color_targets_written) {
|
||||||
dxbc::Src::R(system_temp_rov_params_, 0b00001100),
|
tile_or_half_tile_width >>= 1;
|
||||||
dxbc::Src::LU(draw_util::kDivideUpperShift5 + 4, 4, 0, 0));
|
assert_not_zero(tile_or_half_tile_width_divide_upper_shift);
|
||||||
// Get the tile index to system_temp_rov_params_.y.
|
--tile_or_half_tile_width_divide_upper_shift;
|
||||||
// system_temp_rov_params_.x = X tile position
|
}
|
||||||
// system_temp_rov_params_.y = tile index
|
if (draw_resolution_scale_y_ == 3) {
|
||||||
// system_temp_rov_params_.z = X guest sample 0 position
|
// Multiplication part of the division by 40|80 x 16 x scale (specifically
|
||||||
// system_temp_rov_params_.w = Y guest sample 0 position
|
// 40|80 * scale width here, and 48 height, or 16 * 3 height).
|
||||||
a_.OpUMAd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
// system_temp_rov_params_.x = X sample 0 position
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
// system_temp_rov_params_.y = Y sample 0 position
|
||||||
LoadSystemConstant(SystemConstants::Index::kEdramPitchTiles,
|
// system_temp_rov_params_.z = (X * tile_or_half_tile_width_divide_scale) >>
|
||||||
offsetof(SystemConstants, edram_pitch_tiles),
|
// 32
|
||||||
dxbc::Src::kXXXX),
|
// system_temp_rov_params_.w = (Y * kDivideScale3) >> 32
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX));
|
a_.OpUMul(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
||||||
// Convert the tile index into a tile offset.
|
dxbc::Dest::Null(),
|
||||||
// system_temp_rov_params_.x = X tile position
|
dxbc::Src::R(system_temp_rov_params_, 0b0100 << 4),
|
||||||
// system_temp_rov_params_.y = tile offset
|
dxbc::Src::LU(0, 0, tile_or_half_tile_width_divide_scale,
|
||||||
// system_temp_rov_params_.z = X guest sample 0 position
|
draw_util::kDivideScale3));
|
||||||
// system_temp_rov_params_.w = Y guest sample 0 position
|
// Shift part of the division by 40|80 x 16 x scale.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 position
|
||||||
|
// system_temp_rov_params_.z = X half-tile or tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile position
|
||||||
|
a_.OpUShR(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_),
|
||||||
|
dxbc::Src::LU(0, 0, tile_or_half_tile_width_divide_upper_shift,
|
||||||
|
draw_util::kDivideUpperShift3 + 4));
|
||||||
|
// Take the remainder of the performed division to
|
||||||
|
// system_temp_rov_params_.xy.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 position within the (half-)tile
|
||||||
|
// system_temp_rov_params_.z = X half-tile or tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile position
|
||||||
|
a_.OpIMAd(dxbc::Dest::R(system_temp_rov_params_, 0b0011),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, 0b1110),
|
||||||
|
dxbc::Src::LI(-int32_t(tile_or_half_tile_width),
|
||||||
|
-16 * draw_resolution_scale_y_, 0, 0),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_));
|
||||||
|
} else {
|
||||||
|
assert_true(draw_resolution_scale_y_ <= 2);
|
||||||
|
// Multiplication part of the division of X by 40|80 * scale.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 position
|
||||||
|
// system_temp_rov_params_.z = (X * tile_or_half_tile_width_divide_scale) >>
|
||||||
|
// 32
|
||||||
|
a_.OpUMul(dxbc::Dest::R(system_temp_rov_params_, 0b0100),
|
||||||
|
dxbc::Dest::Null(),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX),
|
||||||
|
dxbc::Src::LU(tile_or_half_tile_width_divide_scale));
|
||||||
|
// Shift part of the division of X by 40 * scale, division of Y by
|
||||||
|
// 16 * scale as it's power of two in this case.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 position
|
||||||
|
// system_temp_rov_params_.z = X half-tile or tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile position
|
||||||
|
a_.OpUShR(dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, 0b0110 << 4),
|
||||||
|
dxbc::Src::LU(0, 0, tile_or_half_tile_width_divide_upper_shift,
|
||||||
|
draw_resolution_scale_y_ == 2 ? 5 : 4));
|
||||||
|
// Take the remainder of the performed division (via multiply-subtract for
|
||||||
|
// X, via AND for Y which is power-of-two here) to
|
||||||
|
// system_temp_rov_params_.xy.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile or
|
||||||
|
// tile
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 position within the (half-)tile
|
||||||
|
// system_temp_rov_params_.z = X half-tile or tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile position
|
||||||
|
a_.OpIMAd(dxbc::Dest::R(system_temp_rov_params_, 0b0001),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
||||||
|
dxbc::Src::LI(-int32_t(tile_or_half_tile_width)),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX));
|
||||||
|
a_.OpAnd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
|
dxbc::Src::LU((16 * draw_resolution_scale_y_) - 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert the Y sample 0 position within the half-tile or tile to the dword
|
||||||
|
// offset of the row within a 80x16 32bpp tile or a 40x16 64bpp half-tile to
|
||||||
|
// system_temp_rov_params_.y.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile or
|
||||||
|
// tile
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 row dword offset within the
|
||||||
|
// 80x16-dword tile
|
||||||
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile position
|
||||||
a_.OpUMul(dxbc::Dest::Null(), dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
a_.OpUMul(dxbc::Dest::Null(), dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
dxbc::Src::LU(1280));
|
dxbc::Src::LU(80 * draw_resolution_scale_x_));
|
||||||
// Get tile-local X sample index into system_temp_rov_params_.z.
|
|
||||||
// system_temp_rov_params_.y = tile offset
|
|
||||||
// system_temp_rov_params_.z = X sample 0 position within the tile
|
|
||||||
// system_temp_rov_params_.w = Y guest sample 0 position
|
|
||||||
a_.OpIMAd(dxbc::Dest::R(system_temp_rov_params_, 0b0100),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX),
|
|
||||||
dxbc::Src::LI(-80),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ));
|
|
||||||
// Get tile-local Y sample index into system_temp_rov_params_.w.
|
|
||||||
// system_temp_rov_params_.y = tile offset
|
|
||||||
// system_temp_rov_params_.z = X sample 0 position within the tile
|
|
||||||
// system_temp_rov_params_.w = Y sample 0 position within the tile
|
|
||||||
a_.OpAnd(dxbc::Dest::R(system_temp_rov_params_, 0b1000),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kWWWW),
|
|
||||||
dxbc::Src::LU(15));
|
|
||||||
// Go to the target row within the tile in system_temp_rov_params_.y.
|
|
||||||
// system_temp_rov_params_.y = row offset
|
|
||||||
// system_temp_rov_params_.z = X sample 0 position within the tile
|
|
||||||
a_.OpIMAd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kWWWW),
|
|
||||||
dxbc::Src::LI(80),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY));
|
|
||||||
// Choose in which 40-sample half of the tile the pixel is, for swapping
|
|
||||||
// 40-sample columns when accessing the depth buffer - games expect this
|
|
||||||
// behavior when writing depth back to the EDRAM via color writing (4D5307E6).
|
|
||||||
// system_temp_rov_params_.x = tile-local sample 0 X >= 40
|
|
||||||
// system_temp_rov_params_.y = row offset
|
|
||||||
// system_temp_rov_params_.z = X sample 0 position within the tile
|
|
||||||
a_.OpUGE(dxbc::Dest::R(system_temp_rov_params_, 0b0001),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
|
||||||
dxbc::Src::LU(40));
|
|
||||||
// Choose what to add to the depth/stencil X position.
|
|
||||||
// system_temp_rov_params_.x = 40 or -40 offset for the depth buffer
|
|
||||||
// system_temp_rov_params_.y = row offset
|
|
||||||
// system_temp_rov_params_.z = X sample 0 position within the tile
|
|
||||||
a_.OpMovC(dxbc::Dest::R(system_temp_rov_params_, 0b0001),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX),
|
|
||||||
dxbc::Src::LI(-40), dxbc::Src::LI(40));
|
|
||||||
// Flip tile halves for the depth/stencil buffer.
|
|
||||||
// system_temp_rov_params_.x = X sample 0 position within the depth tile
|
|
||||||
// system_temp_rov_params_.y = row offset
|
|
||||||
// system_temp_rov_params_.z = X sample 0 position within the tile
|
|
||||||
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0001),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX));
|
|
||||||
if (any_color_targets_written) {
|
if (any_color_targets_written) {
|
||||||
// Write 32bpp color offset to system_temp_rov_params_.z.
|
// Depth, 32bpp color, 64bpp color are all needed.
|
||||||
// system_temp_rov_params_.x = X sample 0 position within the depth tile
|
|
||||||
// system_temp_rov_params_.y = row offset
|
// X sample 0 position within in the half-tile in system_temp_rov_params_.x,
|
||||||
// system_temp_rov_params_.z = unscaled 32bpp color offset
|
// for 64bpp, will be used directly as sample X the within the 80x16-dword
|
||||||
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0100),
|
// region, but for 32bpp color and depth, 40x16 half-tile index within the
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
// 80x16 tile - system_temp_rov_params_.z & 1 - will also be taken into
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ));
|
// account when calculating the X (directly for color, flipped for depth).
|
||||||
}
|
|
||||||
// Write depth/stencil offset to system_temp_rov_params_.y.
|
uint32_t rov_address_temp = PushSystemTemp();
|
||||||
// system_temp_rov_params_.y = unscaled 32bpp depth/stencil offset
|
|
||||||
// system_temp_rov_params_.z = unscaled 32bpp color offset if needed
|
// Multiply the Y tile position by the surface tile pitch in dwords to get
|
||||||
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
// the address of the origin of the row of tiles within a 32bpp surface in
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
// dwords (later it needs to be multiplied by 2 for 64bpp).
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX));
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
// Add the EDRAM base for depth/stencil.
|
// system_temp_rov_params_.y = Y sample 0 row dword offset within the
|
||||||
// system_temp_rov_params_.y = unscaled 32bpp depth/stencil address
|
// 80x16-dword tile
|
||||||
// system_temp_rov_params_.z = unscaled 32bpp color offset if needed
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
a_.OpIAdd(
|
// system_temp_rov_params_.w = Y tile row dword origin in a 32bpp surface
|
||||||
dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
a_.OpUMul(
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
dxbc::Dest::Null(), dxbc::Dest::R(system_temp_rov_params_, 0b1000),
|
||||||
LoadSystemConstant(SystemConstants::Index::kEdramDepthBaseDwords,
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kWWWW),
|
||||||
offsetof(SystemConstants, edram_depth_base_dwords),
|
LoadSystemConstant(
|
||||||
dxbc::Src::kXXXX));
|
SystemConstants::Index::kEdram32bppTilePitchDwordsScaled,
|
||||||
if (draw_resolution_scale_ > 1) {
|
offsetof(SystemConstants, edram_32bpp_tile_pitch_dwords_scaled),
|
||||||
assert_true(resolution_scale_host_pixel_temp != UINT32_MAX);
|
dxbc::Src::kXXXX));
|
||||||
// Apply the resolution scale and the host pixel offset within the guest
|
|
||||||
// sample.
|
// Get the 32bpp tile X position within the row of tiles to
|
||||||
// system_temp_rov_params_.y = scaled 32bpp depth/stencil first host pixel
|
// rov_address_temp.x.
|
||||||
// address
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
// system_temp_rov_params_.z = scaled 32bpp color first host pixel offset if
|
// system_temp_rov_params_.y = Y sample 0 row dword offset within the
|
||||||
// needed
|
// 80x16-dword tile
|
||||||
a_.OpUMAd(dxbc::Dest::R(system_temp_rov_params_,
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
any_color_targets_written ? 0b0110 : 0b0010),
|
// system_temp_rov_params_.w = Y tile row dword origin in a 32bpp surface
|
||||||
dxbc::Src::R(system_temp_rov_params_),
|
// rov_address_temp.x = X 32bpp tile position
|
||||||
dxbc::Src::LU(draw_resolution_scale_ * draw_resolution_scale_),
|
a_.OpUShR(dxbc::Dest::R(rov_address_temp, 0b0001),
|
||||||
dxbc::Src::R(resolution_scale_host_pixel_temp, dxbc::Src::kXXXX));
|
|
||||||
// Release resolution_scale_host_pixel_temp.
|
|
||||||
PopSystemTemp();
|
|
||||||
} else {
|
|
||||||
assert_true(resolution_scale_host_pixel_temp == UINT32_MAX);
|
|
||||||
}
|
|
||||||
if (any_color_targets_written) {
|
|
||||||
// Get the 64bpp color offset to system_temp_rov_params_.w.
|
|
||||||
// TODO(Triang3l): Find some game that aliases 64bpp with 32bpp to emulate
|
|
||||||
// the real layout.
|
|
||||||
// system_temp_rov_params_.y = scaled 32bpp depth/stencil address
|
|
||||||
// system_temp_rov_params_.z = scaled 32bpp color offset
|
|
||||||
// system_temp_rov_params_.w = scaled 64bpp color offset
|
|
||||||
a_.OpIShL(dxbc::Dest::R(system_temp_rov_params_, 0b1000),
|
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
||||||
dxbc::Src::LU(1));
|
dxbc::Src::LU(1));
|
||||||
|
// Get the dword offset of the beginning of the row of samples within a row
|
||||||
|
// of 32bpp 80x16 tiles to rov_address_temp.x.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 row dword offset within the
|
||||||
|
// 80x16-dword tile
|
||||||
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile row dword origin in a 32bpp surface
|
||||||
|
// rov_address_temp.x = dword offset of the beginning of the row of samples
|
||||||
|
// within a row of 32bpp tiles
|
||||||
|
a_.OpUMAd(
|
||||||
|
dxbc::Dest::R(rov_address_temp, 0b0001),
|
||||||
|
dxbc::Src::R(rov_address_temp, dxbc::Src::kXXXX),
|
||||||
|
dxbc::Src::LU(80 * 16 *
|
||||||
|
(draw_resolution_scale_x_ * draw_resolution_scale_y_)),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY));
|
||||||
|
// Get the dword offset of the beginning of the row of samples within a
|
||||||
|
// 32bpp surface to rov_address_temp.x.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 row dword offset within the
|
||||||
|
// 80x16-dword tile
|
||||||
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile row dword origin in a 32bpp surface
|
||||||
|
// rov_address_temp.x = dword offset of the beginning of the row of samples
|
||||||
|
// within a 32bpp surface
|
||||||
|
a_.OpIAdd(dxbc::Dest::R(rov_address_temp, 0b0001),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kWWWW),
|
||||||
|
dxbc::Src::R(rov_address_temp, dxbc::Src::kXXXX));
|
||||||
|
|
||||||
|
// Get the dword offset of the beginning of the row of samples within a row
|
||||||
|
// of 64bpp 80x16 tiles to system_temp_rov_params_.y (last time the
|
||||||
|
// tile-local Y offset is needed).
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
|
// system_temp_rov_params_.y = dword offset of the beginning of the row of
|
||||||
|
// samples within a row of 64bpp tiles
|
||||||
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
|
// system_temp_rov_params_.w = Y tile row dword origin in a 32bpp surface
|
||||||
|
// rov_address_temp.x = dword offset of the beginning of the row of samples
|
||||||
|
// within a 32bpp surface
|
||||||
|
a_.OpUMAd(
|
||||||
|
dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
||||||
|
dxbc::Src::LU(80 * 16 *
|
||||||
|
(draw_resolution_scale_x_ * draw_resolution_scale_y_)),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY));
|
||||||
|
// Get the dword offset of the beginning of the row of samples within a
|
||||||
|
// 64bpp surface to system_temp_rov_params_.w (last time the Y tile row
|
||||||
|
// offset is needed).
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
|
// system_temp_rov_params_.y = free
|
||||||
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
|
// system_temp_rov_params_.w = dword offset of the beginning of the row of
|
||||||
|
// samples within a 64bpp surface
|
||||||
|
// rov_address_temp.x = dword offset of the beginning of the row of samples
|
||||||
|
// within a 32bpp surface
|
||||||
|
a_.OpUMAd(dxbc::Dest::R(system_temp_rov_params_, 0b1000),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kWWWW),
|
||||||
|
dxbc::Src::LU(2),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY));
|
||||||
|
|
||||||
|
// Get the final offset of the sample 0 within a 64bpp surface to
|
||||||
|
// system_temp_rov_params_.w.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
|
// system_temp_rov_params_.z = X half-tile position
|
||||||
|
// system_temp_rov_params_.w = dword sample 0 offset within a 64bpp surface
|
||||||
|
// rov_address_temp.x = dword offset of the beginning of the row of samples
|
||||||
|
// within a 32bpp surface
|
||||||
|
a_.OpUMAd(dxbc::Dest::R(system_temp_rov_params_, 0b1000),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX),
|
||||||
|
dxbc::Src::LU(2),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kWWWW));
|
||||||
|
|
||||||
|
// Get the half-tile index within the tile to system_temp_rov_params_.y
|
||||||
|
// (last time the X half-tile position is needed).
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the half-tile
|
||||||
|
// system_temp_rov_params_.y = half-tile index within the tile
|
||||||
|
// system_temp_rov_params_.z = free
|
||||||
|
// system_temp_rov_params_.w = dword sample 0 offset within a 64bpp surface
|
||||||
|
// rov_address_temp.x = dword offset of the beginning of the row of samples
|
||||||
|
// within a 32bpp surface
|
||||||
|
a_.OpAnd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
||||||
|
dxbc::Src::LU(1));
|
||||||
|
|
||||||
|
// Get the X position within the 32bpp tile to system_temp_rov_params_.z
|
||||||
|
// (last time the X position within the half-tile is needed).
|
||||||
|
// system_temp_rov_params_.x = free
|
||||||
|
// system_temp_rov_params_.y = half-tile index within the tile
|
||||||
|
// system_temp_rov_params_.z = X sample 0 position within the tile
|
||||||
|
// system_temp_rov_params_.w = dword sample 0 offset within a 64bpp surface
|
||||||
|
// rov_address_temp.x = dword offset of the beginning of the row of samples
|
||||||
|
// within a 32bpp surface
|
||||||
|
a_.OpUMAd(dxbc::Dest::R(system_temp_rov_params_, 0b0100),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
|
dxbc::Src::LU(40 * draw_resolution_scale_x_),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX));
|
||||||
|
// Get the final offset of the sample 0 within a 32bpp color surface to
|
||||||
|
// system_temp_rov_params_.z (last time the 32bpp row offset is needed).
|
||||||
|
// system_temp_rov_params_.y = half-tile index within the tile
|
||||||
|
// system_temp_rov_params_.z = dword sample 0 offset within a 32bpp surface
|
||||||
|
// system_temp_rov_params_.w = dword sample 0 offset within a 64bpp surface
|
||||||
|
// rov_address_temp.x = free
|
||||||
|
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0100),
|
||||||
|
dxbc::Src::R(rov_address_temp, dxbc::Src::kXXXX),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ));
|
||||||
|
|
||||||
|
// Flip the 40x16 half-tiles for depth / stencil as opposed to 32bpp color -
|
||||||
|
// get the dword offset to add for flipping to system_temp_rov_params_.y.
|
||||||
|
// system_temp_rov_params_.y = depth half-tile flipping offset
|
||||||
|
// system_temp_rov_params_.z = dword sample 0 offset within a 32bpp surface
|
||||||
|
// system_temp_rov_params_.w = dword sample 0 offset within a 64bpp surface
|
||||||
|
a_.OpMovC(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
|
dxbc::Src::LI(-40 * draw_resolution_scale_x_),
|
||||||
|
dxbc::Src::LI(40 * draw_resolution_scale_x_));
|
||||||
|
// Flip the 40x16 half-tiles for depth / stencil as opposed to 32bpp color -
|
||||||
|
// get the final offset of the sample 0 within a 32bpp depth / stencil
|
||||||
|
// surface to system_temp_rov_params_.y.
|
||||||
|
// system_temp_rov_params_.y = dword sample 0 offset within depth / stencil
|
||||||
|
// system_temp_rov_params_.z = dword sample 0 offset within a 32bpp surface
|
||||||
|
// system_temp_rov_params_.w = dword sample 0 offset within a 64bpp surface
|
||||||
|
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY));
|
||||||
|
|
||||||
|
// Release rov_address_temp.
|
||||||
|
PopSystemTemp();
|
||||||
|
} else {
|
||||||
|
// Simpler logic for depth-only, not involving half-tile indices (flipping
|
||||||
|
// half-tiles via comparison).
|
||||||
|
|
||||||
|
// Get the dword offset of the beginning of the row of samples within a row
|
||||||
|
// of 32bpp 80x16 tiles to system_temp_rov_params_.z (last time the X tile
|
||||||
|
// position is needed).
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the tile
|
||||||
|
// system_temp_rov_params_.y = Y sample 0 row dword offset within the
|
||||||
|
// 80x16-dword tile
|
||||||
|
// system_temp_rov_params_.z = dword offset of the beginning of the row of
|
||||||
|
// samples within a row of 32bpp tiles
|
||||||
|
// system_temp_rov_params_.w = Y tile position
|
||||||
|
a_.OpUMAd(
|
||||||
|
dxbc::Dest::R(system_temp_rov_params_, 0b0100),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ),
|
||||||
|
dxbc::Src::LU(80 * 16 *
|
||||||
|
(draw_resolution_scale_x_ * draw_resolution_scale_y_)),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY));
|
||||||
|
// Get the dword offset of the beginning of the row of samples within a
|
||||||
|
// 32bpp surface to system_temp_rov_params_.y (last time anything Y-related
|
||||||
|
// is needed, as well as the sample row offset within the tile row).
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the tile
|
||||||
|
// system_temp_rov_params_.y = dword offset of the beginning of the row of
|
||||||
|
// samples within a 32bpp surface
|
||||||
|
// system_temp_rov_params_.z = free
|
||||||
|
// system_temp_rov_params_.w = free
|
||||||
|
a_.OpUMAd(
|
||||||
|
dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kWWWW),
|
||||||
|
LoadSystemConstant(
|
||||||
|
SystemConstants::Index::kEdram32bppTilePitchDwordsScaled,
|
||||||
|
offsetof(SystemConstants, edram_32bpp_tile_pitch_dwords_scaled),
|
||||||
|
dxbc::Src::kXXXX),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kZZZZ));
|
||||||
|
// Add the tile-local X to the depth offset in system_temp_rov_params_.y.
|
||||||
|
// system_temp_rov_params_.x = X sample 0 position within the tile
|
||||||
|
// system_temp_rov_params_.y = dword sample 0 offset within a 32bpp surface
|
||||||
|
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX));
|
||||||
|
// Flip the 40x16 half-tiles for depth / stencil as opposed to 32bpp color -
|
||||||
|
// check in which half-tile the pixel is in to system_temp_rov_params_.x.
|
||||||
|
// system_temp_rov_params_.x = free
|
||||||
|
// system_temp_rov_params_.y = dword sample 0 offset within a 32bpp surface
|
||||||
|
// system_temp_rov_params_.z = 0xFFFFFFFF if in the right half-tile, 0
|
||||||
|
// otherwise
|
||||||
|
a_.OpUGE(dxbc::Dest::R(system_temp_rov_params_, 0b0001),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX),
|
||||||
|
dxbc::Src::LU(40 * draw_resolution_scale_x_));
|
||||||
|
// Flip the 40x16 half-tiles for depth / stencil as opposed to 32bpp color -
|
||||||
|
// get the dword offset to add for flipping to system_temp_rov_params_.x.
|
||||||
|
// system_temp_rov_params_.x = depth half-tile flipping offset
|
||||||
|
// system_temp_rov_params_.y = dword sample 0 offset within a 32bpp surface
|
||||||
|
a_.OpMovC(dxbc::Dest::R(system_temp_rov_params_, 0b0001),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX),
|
||||||
|
dxbc::Src::LI(-40 * draw_resolution_scale_x_),
|
||||||
|
dxbc::Src::LI(40 * draw_resolution_scale_x_));
|
||||||
|
// Flip the 40x16 half-tiles for depth / stencil as opposed to 32bpp color -
|
||||||
|
// get the final offset of the sample 0 within a 32bpp depth / stencil
|
||||||
|
// surface to system_temp_rov_params_.y.
|
||||||
|
// system_temp_rov_params_.x = free
|
||||||
|
// system_temp_rov_params_.y = dword sample 0 offset within depth / stencil
|
||||||
|
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kXXXX));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add the EDRAM base for depth/stencil.
|
||||||
|
// system_temp_rov_params_.y = EDRAM depth / stencil address
|
||||||
|
// system_temp_rov_params_.z = dword sample 0 offset within a 32bpp surface if
|
||||||
|
// needed
|
||||||
|
// system_temp_rov_params_.w = dword sample 0 offset within a 64bpp surface if
|
||||||
|
// needed
|
||||||
|
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
|
LoadSystemConstant(
|
||||||
|
SystemConstants::Index::kEdramDepthBaseDwordsScaled,
|
||||||
|
offsetof(SystemConstants, edram_depth_base_dwords_scaled),
|
||||||
|
dxbc::Src::kXXXX));
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// Sample coverage to system_temp_rov_params_.x.
|
// Sample coverage to system_temp_rov_params_.x.
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
@ -1113,13 +1280,13 @@ void DxbcShaderTranslator::ROV_DepthStencilTest() {
|
||||||
// Close the sample conditional.
|
// Close the sample conditional.
|
||||||
a_.OpEndIf();
|
a_.OpEndIf();
|
||||||
|
|
||||||
// Go to the next sample (samples are at +0, +80, +1, +81, so need to do
|
// Go to the next sample (samples are at +0, +(80*scale_x), +1,
|
||||||
// +80, -79, +80 and -81 after each sample).
|
// +(80*scale_x+1), so need to do +(80*scale_x), -(80*scale_x-1),
|
||||||
|
// +(80*scale_x) and -(80*scale_x+1) after each sample).
|
||||||
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
dxbc::Src::LI(((i & 1) ? -78 - i : 80) *
|
dxbc::Src::LI((i & 1) ? -80 * draw_resolution_scale_x_ + 2 - i
|
||||||
(int32_t(draw_resolution_scale_) *
|
: 80 * draw_resolution_scale_x_));
|
||||||
int32_t(draw_resolution_scale_))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ROV_IsDepthStencilEarly()) {
|
if (ROV_IsDepthStencilEarly()) {
|
||||||
|
@ -2005,9 +2172,6 @@ void DxbcShaderTranslator::CompletePixelShader_WriteToROV() {
|
||||||
dxbc::Dest temp_w_dest(dxbc::Dest::R(temp, 0b1000));
|
dxbc::Dest temp_w_dest(dxbc::Dest::R(temp, 0b1000));
|
||||||
dxbc::Src temp_w_src(dxbc::Src::R(temp, dxbc::Src::kWWWW));
|
dxbc::Src temp_w_src(dxbc::Src::R(temp, dxbc::Src::kWWWW));
|
||||||
|
|
||||||
uint32_t resolution_scale_square =
|
|
||||||
draw_resolution_scale_ * draw_resolution_scale_;
|
|
||||||
|
|
||||||
// Do late depth/stencil test (which includes writing) if needed or deferred
|
// Do late depth/stencil test (which includes writing) if needed or deferred
|
||||||
// depth writing.
|
// depth writing.
|
||||||
if (ROV_IsDepthStencilEarly()) {
|
if (ROV_IsDepthStencilEarly()) {
|
||||||
|
@ -2033,13 +2197,14 @@ void DxbcShaderTranslator::CompletePixelShader_WriteToROV() {
|
||||||
}
|
}
|
||||||
// Close the write check.
|
// Close the write check.
|
||||||
a_.OpEndIf();
|
a_.OpEndIf();
|
||||||
// Go to the next sample (samples are at +0, +80, +1, +81, so need to do
|
// Go to the next sample (samples are at +0, +(80*scale_x), +1,
|
||||||
// +80, -79, +80 and -81 after each sample).
|
// +(80*scale_x+1), so need to do +(80*scale_x), -(80*scale_x-1),
|
||||||
|
// +(80*scale_x) and -(80*scale_x+1) after each sample).
|
||||||
if (i < 3) {
|
if (i < 3) {
|
||||||
a_.OpIAdd(
|
a_.OpIAdd(dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
||||||
dxbc::Dest::R(system_temp_rov_params_, 0b0010),
|
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
||||||
dxbc::Src::R(system_temp_rov_params_, dxbc::Src::kYYYY),
|
dxbc::Src::LI((i & 1) ? -80 * draw_resolution_scale_x_ + 2 - i
|
||||||
dxbc::Src::LI(((i & 1) ? -78 - i : 80) * resolution_scale_square));
|
: 80 * draw_resolution_scale_x_));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -2843,14 +3008,16 @@ void DxbcShaderTranslator::CompletePixelShader_WriteToROV() {
|
||||||
// Close the sample covered check.
|
// Close the sample covered check.
|
||||||
a_.OpEndIf();
|
a_.OpEndIf();
|
||||||
|
|
||||||
// Go to the next sample (samples are at +0, +80, +1, +81, so need to do
|
// Go to the next sample (samples are at +0, +(80*scale_x), +1,
|
||||||
// +80, -79, +80 and -81 after each sample).
|
// +(80*scale_x+1), so need to do +(80*scale_x), -(80*scale_x-1),
|
||||||
|
// +(80*scale_x) and -(80*scale_x+1) after each sample).
|
||||||
int32_t next_sample_distance =
|
int32_t next_sample_distance =
|
||||||
((j & 1) ? -78 - j : 80) * int32_t(resolution_scale_square);
|
(j & 1) ? -80 * draw_resolution_scale_x_ + 2 - j
|
||||||
|
: 80 * draw_resolution_scale_x_;
|
||||||
a_.OpIAdd(
|
a_.OpIAdd(
|
||||||
dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
dxbc::Dest::R(system_temp_rov_params_, 0b1100),
|
||||||
dxbc::Src::R(system_temp_rov_params_),
|
dxbc::Src::R(system_temp_rov_params_),
|
||||||
dxbc::Src::LI(0, 0, next_sample_distance, next_sample_distance * 2));
|
dxbc::Src::LI(0, 0, next_sample_distance, next_sample_distance));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Revert adding the EDRAM bases of the render target to
|
// Revert adding the EDRAM bases of the render target to
|
||||||
|
|
|
@ -78,9 +78,9 @@ DEFINE_string(
|
||||||
" Choose what is considered the most optimal (currently \"on_copy\").",
|
" Choose what is considered the most optimal (currently \"on_copy\").",
|
||||||
"GPU");
|
"GPU");
|
||||||
DEFINE_int32(
|
DEFINE_int32(
|
||||||
draw_resolution_scale, 1,
|
draw_resolution_scale_x, 1,
|
||||||
"Integer pixel width and height scale used for scaling the rendering "
|
"Integer pixel width scale used for scaling the rendering resolution "
|
||||||
"resolution opaquely to the game.\n"
|
"opaquely to the game.\n"
|
||||||
"1, 2 and 3 may be supported, but support of anything above 1 depends on "
|
"1, 2 and 3 may be supported, but support of anything above 1 depends on "
|
||||||
"the device properties, such as whether it supports sparse binding / tiled "
|
"the device properties, such as whether it supports sparse binding / tiled "
|
||||||
"resources, the number of virtual address bits per resource, and other "
|
"resources, the number of virtual address bits per resource, and other "
|
||||||
|
@ -90,6 +90,12 @@ DEFINE_int32(
|
||||||
"because half-pixel offset (which normally doesn't affect coverage when "
|
"because half-pixel offset (which normally doesn't affect coverage when "
|
||||||
"MSAA isn't used) becomes full-pixel.",
|
"MSAA isn't used) becomes full-pixel.",
|
||||||
"GPU");
|
"GPU");
|
||||||
|
DEFINE_int32(
|
||||||
|
draw_resolution_scale_y, 1,
|
||||||
|
"Integer pixel width scale used for scaling the rendering resolution "
|
||||||
|
"opaquely to the game.\n"
|
||||||
|
"See draw_resolution_scale_x for more information.",
|
||||||
|
"GPU");
|
||||||
DEFINE_bool(
|
DEFINE_bool(
|
||||||
draw_resolution_scaled_texture_offsets, true,
|
draw_resolution_scaled_texture_offsets, true,
|
||||||
"Apply offsets from texture fetch instructions taking resolution scale "
|
"Apply offsets from texture fetch instructions taking resolution scale "
|
||||||
|
@ -396,7 +402,7 @@ bool RenderTargetCache::Update(bool is_rasterization_done,
|
||||||
uint32_t pitch_pixels_tile_aligned_scaled =
|
uint32_t pitch_pixels_tile_aligned_scaled =
|
||||||
pitch_tiles_at_32bpp *
|
pitch_tiles_at_32bpp *
|
||||||
(xenos::kEdramTileWidthSamples >> msaa_samples_x_log2) *
|
(xenos::kEdramTileWidthSamples >> msaa_samples_x_log2) *
|
||||||
GetResolutionScale();
|
GetResolutionScaleX();
|
||||||
uint32_t max_render_target_width = GetMaxRenderTargetWidth();
|
uint32_t max_render_target_width = GetMaxRenderTargetWidth();
|
||||||
if (pitch_pixels_tile_aligned_scaled > max_render_target_width) {
|
if (pitch_pixels_tile_aligned_scaled > max_render_target_width) {
|
||||||
// TODO(Triang3l): If really needed for some game on some device, clamp
|
// TODO(Triang3l): If really needed for some game on some device, clamp
|
||||||
|
@ -855,14 +861,14 @@ uint32_t RenderTargetCache::GetRenderTargetHeight(
|
||||||
!(xenos::kTexture2DCubeMaxWidthHeight % xenos::kEdramTileHeightSamples),
|
!(xenos::kTexture2DCubeMaxWidthHeight % xenos::kEdramTileHeightSamples),
|
||||||
"Maximum guest render target height is assumed to always be a multiple "
|
"Maximum guest render target height is assumed to always be a multiple "
|
||||||
"of an EDRAM tile height");
|
"of an EDRAM tile height");
|
||||||
uint32_t resolution_scale = GetResolutionScale();
|
uint32_t resolution_scale_y = GetResolutionScaleY();
|
||||||
uint32_t max_height_scaled =
|
uint32_t max_height_scaled =
|
||||||
std::min(xenos::kTexture2DCubeMaxWidthHeight * resolution_scale,
|
std::min(xenos::kTexture2DCubeMaxWidthHeight * resolution_scale_y,
|
||||||
GetMaxRenderTargetHeight());
|
GetMaxRenderTargetHeight());
|
||||||
uint32_t msaa_samples_y_log2 =
|
uint32_t msaa_samples_y_log2 =
|
||||||
uint32_t(msaa_samples >= xenos::MsaaSamples::k2X);
|
uint32_t(msaa_samples >= xenos::MsaaSamples::k2X);
|
||||||
uint32_t tile_height_samples_scaled =
|
uint32_t tile_height_samples_scaled =
|
||||||
xenos::kEdramTileHeightSamples * resolution_scale;
|
xenos::kEdramTileHeightSamples * resolution_scale_y;
|
||||||
tile_rows = std::min(tile_rows, (max_height_scaled << msaa_samples_y_log2) /
|
tile_rows = std::min(tile_rows, (max_height_scaled << msaa_samples_y_log2) /
|
||||||
tile_height_samples_scaled);
|
tile_height_samples_scaled);
|
||||||
assert_not_zero(tile_rows);
|
assert_not_zero(tile_rows);
|
||||||
|
@ -993,7 +999,7 @@ bool RenderTargetCache::PrepareHostRenderTargetsResolveClear(
|
||||||
uint32_t pitch_pixels =
|
uint32_t pitch_pixels =
|
||||||
pitch_tiles_at_32bpp *
|
pitch_tiles_at_32bpp *
|
||||||
(xenos::kEdramTileWidthSamples >> msaa_samples_x_log2);
|
(xenos::kEdramTileWidthSamples >> msaa_samples_x_log2);
|
||||||
uint32_t pitch_pixels_scaled = pitch_pixels * GetResolutionScale();
|
uint32_t pitch_pixels_scaled = pitch_pixels * GetResolutionScaleX();
|
||||||
uint32_t max_render_target_width = GetMaxRenderTargetWidth();
|
uint32_t max_render_target_width = GetMaxRenderTargetWidth();
|
||||||
if (pitch_pixels_scaled > max_render_target_width) {
|
if (pitch_pixels_scaled > max_render_target_width) {
|
||||||
// TODO(Triang3l): If really needed for some game on some device, clamp the
|
// TODO(Triang3l): If really needed for some game on some device, clamp the
|
||||||
|
@ -1139,11 +1145,12 @@ RenderTargetCache::RenderTarget*
|
||||||
RenderTargetCache::PrepareFullEdram1280xRenderTargetForSnapshotRestoration(
|
RenderTargetCache::PrepareFullEdram1280xRenderTargetForSnapshotRestoration(
|
||||||
xenos::ColorRenderTargetFormat color_format) {
|
xenos::ColorRenderTargetFormat color_format) {
|
||||||
assert_true(GetPath() == Path::kHostRenderTargets);
|
assert_true(GetPath() == Path::kHostRenderTargets);
|
||||||
uint32_t resolution_scale = GetResolutionScale();
|
uint32_t resolution_scale_x = GetResolutionScaleX();
|
||||||
|
uint32_t resolution_scale_y = GetResolutionScaleY();
|
||||||
constexpr uint32_t kPitchTilesAt32bpp = 16;
|
constexpr uint32_t kPitchTilesAt32bpp = 16;
|
||||||
constexpr uint32_t kWidth =
|
constexpr uint32_t kWidth =
|
||||||
kPitchTilesAt32bpp * xenos::kEdramTileWidthSamples;
|
kPitchTilesAt32bpp * xenos::kEdramTileWidthSamples;
|
||||||
if (kWidth * resolution_scale > GetMaxRenderTargetWidth()) {
|
if (kWidth * resolution_scale_x > GetMaxRenderTargetWidth()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
// Same render target height is used for 32bpp and 64bpp to allow mixing them.
|
// Same render target height is used for 32bpp and 64bpp to allow mixing them.
|
||||||
|
@ -1159,7 +1166,7 @@ RenderTargetCache::PrepareFullEdram1280xRenderTargetForSnapshotRestoration(
|
||||||
"Using width of the render target for EDRAM snapshot restoration that is "
|
"Using width of the render target for EDRAM snapshot restoration that is "
|
||||||
"expect to fully cover the EDRAM without exceeding the maximum guest "
|
"expect to fully cover the EDRAM without exceeding the maximum guest "
|
||||||
"render target height.");
|
"render target height.");
|
||||||
if (kHeight * resolution_scale > GetMaxRenderTargetHeight()) {
|
if (kHeight * resolution_scale_y > GetMaxRenderTargetHeight()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
RenderTargetKey render_target_key;
|
RenderTargetKey render_target_key;
|
||||||
|
|
|
@ -26,7 +26,8 @@
|
||||||
#include "xenia/gpu/xenos.h"
|
#include "xenia/gpu/xenos.h"
|
||||||
|
|
||||||
DECLARE_bool(depth_transfer_not_equal_test);
|
DECLARE_bool(depth_transfer_not_equal_test);
|
||||||
DECLARE_int32(draw_resolution_scale);
|
DECLARE_int32(draw_resolution_scale_x);
|
||||||
|
DECLARE_int32(draw_resolution_scale_y);
|
||||||
DECLARE_bool(draw_resolution_scaled_texture_offsets);
|
DECLARE_bool(draw_resolution_scaled_texture_offsets);
|
||||||
DECLARE_bool(gamma_render_target_as_srgb);
|
DECLARE_bool(gamma_render_target_as_srgb);
|
||||||
DECLARE_bool(native_2x_msaa);
|
DECLARE_bool(native_2x_msaa);
|
||||||
|
@ -167,7 +168,13 @@ class RenderTargetCache {
|
||||||
|
|
||||||
virtual Path GetPath() const = 0;
|
virtual Path GetPath() const = 0;
|
||||||
|
|
||||||
virtual uint32_t GetResolutionScale() const = 0;
|
// Resolution scaling on the EDRAM side is performed by multiplying the EDRAM
|
||||||
|
// tile size by the resolution scale.
|
||||||
|
virtual uint32_t GetResolutionScaleX() const = 0;
|
||||||
|
virtual uint32_t GetResolutionScaleY() const = 0;
|
||||||
|
bool IsResolutionScaled() const {
|
||||||
|
return GetResolutionScaleX() > 1 || GetResolutionScaleY() > 1;
|
||||||
|
}
|
||||||
|
|
||||||
// Virtual (both the common code and the implementation may do something
|
// Virtual (both the common code and the implementation may do something
|
||||||
// here), don't call from destructors (does work not needed for shutdown
|
// here), don't call from destructors (does work not needed for shutdown
|
||||||
|
|
|
@ -28,11 +28,11 @@
|
||||||
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
||||||
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
||||||
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
||||||
// uint xe_edram_pitch_tiles; // Offset: 236 Size: 4 [unused]
|
// uint xe_edram_32bpp_tile_pitch_dwords_scaled;// Offset: 236 Size: 4 [unused]
|
||||||
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
||||||
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
||||||
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
||||||
// uint xe_edram_depth_base_dwords; // Offset: 272 Size: 4 [unused]
|
// uint xe_edram_depth_base_dwords_scaled;// Offset: 272 Size: 4 [unused]
|
||||||
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
||||||
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
||||||
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
||||||
|
@ -121,21 +121,21 @@ ret
|
||||||
|
|
||||||
const BYTE continuous_quad_hs[] =
|
const BYTE continuous_quad_hs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 235, 115,
|
68, 88, 66, 67, 109, 174,
|
||||||
46, 207, 211, 220, 116, 112,
|
137, 67, 82, 213, 246, 48,
|
||||||
161, 205, 93, 240, 127, 133,
|
97, 232, 232, 104, 109, 96,
|
||||||
74, 91, 1, 0, 0, 0,
|
97, 35, 1, 0, 0, 0,
|
||||||
220, 13, 0, 0, 6, 0,
|
240, 13, 0, 0, 6, 0,
|
||||||
0, 0, 56, 0, 0, 0,
|
0, 0, 56, 0, 0, 0,
|
||||||
168, 10, 0, 0, 220, 10,
|
188, 10, 0, 0, 240, 10,
|
||||||
0, 0, 16, 11, 0, 0,
|
0, 0, 36, 11, 0, 0,
|
||||||
212, 11, 0, 0, 64, 13,
|
232, 11, 0, 0, 84, 13,
|
||||||
0, 0, 82, 68, 69, 70,
|
0, 0, 82, 68, 69, 70,
|
||||||
104, 10, 0, 0, 1, 0,
|
124, 10, 0, 0, 1, 0,
|
||||||
0, 0, 120, 0, 0, 0,
|
0, 0, 120, 0, 0, 0,
|
||||||
1, 0, 0, 0, 60, 0,
|
1, 0, 0, 0, 60, 0,
|
||||||
0, 0, 1, 5, 83, 72,
|
0, 0, 1, 5, 83, 72,
|
||||||
0, 5, 4, 0, 62, 10,
|
0, 5, 4, 0, 82, 10,
|
||||||
0, 0, 19, 19, 68, 37,
|
0, 0, 19, 19, 68, 37,
|
||||||
60, 0, 0, 0, 24, 0,
|
60, 0, 0, 0, 24, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
|
@ -295,77 +295,77 @@ const BYTE continuous_quad_hs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 119, 8,
|
0, 0, 0, 0, 138, 8,
|
||||||
0, 0, 240, 0, 0, 0,
|
0, 0, 240, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 140, 8, 0, 0,
|
0, 0, 156, 8, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 176, 8, 0, 0,
|
0, 0, 192, 8, 0, 0,
|
||||||
0, 1, 0, 0, 8, 0,
|
0, 1, 0, 0, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
232, 5, 0, 0, 0, 0,
|
232, 5, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
203, 8, 0, 0, 8, 1,
|
219, 8, 0, 0, 8, 1,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 232, 5,
|
0, 0, 0, 0, 232, 5,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 229, 8,
|
0, 0, 0, 0, 245, 8,
|
||||||
0, 0, 16, 1, 0, 0,
|
0, 0, 16, 1, 0, 0,
|
||||||
4, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 160, 5, 0, 0,
|
0, 0, 160, 5, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 0, 9, 0, 0,
|
0, 0, 23, 9, 0, 0,
|
||||||
32, 1, 0, 0, 32, 0,
|
32, 1, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
20, 9, 0, 0, 0, 0,
|
40, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
56, 9, 0, 0, 64, 1,
|
76, 9, 0, 0, 64, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 124, 9,
|
0, 0, 0, 0, 144, 9,
|
||||||
0, 0, 80, 1, 0, 0,
|
0, 0, 80, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 149, 9, 0, 0,
|
0, 0, 169, 9, 0, 0,
|
||||||
96, 1, 0, 0, 64, 0,
|
96, 1, 0, 0, 64, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
168, 9, 0, 0, 0, 0,
|
188, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
204, 9, 0, 0, 160, 1,
|
224, 9, 0, 0, 160, 1,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 228, 9,
|
0, 0, 0, 0, 248, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 8, 10,
|
0, 0, 0, 0, 28, 10,
|
||||||
0, 0, 192, 1, 0, 0,
|
0, 0, 192, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 38, 10, 0, 0,
|
0, 0, 58, 10, 0, 0,
|
||||||
208, 1, 0, 0, 16, 0,
|
208, 1, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
140, 8, 0, 0, 0, 0,
|
156, 8, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
|
@ -490,35 +490,73 @@ const BYTE continuous_quad_hs[] =
|
||||||
97, 108, 112, 104, 97, 95,
|
97, 108, 112, 104, 97, 95,
|
||||||
116, 111, 95, 109, 97, 115,
|
116, 111, 95, 109, 97, 115,
|
||||||
107, 0, 120, 101, 95, 101,
|
107, 0, 120, 101, 95, 101,
|
||||||
100, 114, 97, 109, 95, 112,
|
100, 114, 97, 109, 95, 51,
|
||||||
105, 116, 99, 104, 95, 116,
|
50, 98, 112, 112, 95, 116,
|
||||||
105, 108, 101, 115, 0, 120,
|
105, 108, 101, 95, 112, 105,
|
||||||
101, 95, 99, 111, 108, 111,
|
116, 99, 104, 95, 100, 119,
|
||||||
114, 95, 101, 120, 112, 95,
|
111, 114, 100, 115, 95, 115,
|
||||||
98, 105, 97, 115, 0, 171,
|
99, 97, 108, 101, 100, 0,
|
||||||
171, 171, 1, 0, 3, 0,
|
120, 101, 95, 99, 111, 108,
|
||||||
1, 0, 4, 0, 0, 0,
|
111, 114, 95, 101, 120, 112,
|
||||||
|
95, 98, 105, 97, 115, 0,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 172, 6,
|
0, 0, 172, 6, 0, 0,
|
||||||
0, 0, 120, 101, 95, 101,
|
120, 101, 95, 101, 100, 114,
|
||||||
100, 114, 97, 109, 95, 112,
|
97, 109, 95, 112, 111, 108,
|
||||||
111, 108, 121, 95, 111, 102,
|
121, 95, 111, 102, 102, 115,
|
||||||
102, 115, 101, 116, 95, 102,
|
101, 116, 95, 102, 114, 111,
|
||||||
114, 111, 110, 116, 0, 120,
|
110, 116, 0, 120, 101, 95,
|
||||||
|
101, 100, 114, 97, 109, 95,
|
||||||
|
112, 111, 108, 121, 95, 111,
|
||||||
|
102, 102, 115, 101, 116, 95,
|
||||||
|
98, 97, 99, 107, 0, 120,
|
||||||
101, 95, 101, 100, 114, 97,
|
101, 95, 101, 100, 114, 97,
|
||||||
109, 95, 112, 111, 108, 121,
|
109, 95, 100, 101, 112, 116,
|
||||||
95, 111, 102, 102, 115, 101,
|
104, 95, 98, 97, 115, 101,
|
||||||
116, 95, 98, 97, 99, 107,
|
95, 100, 119, 111, 114, 100,
|
||||||
0, 120, 101, 95, 101, 100,
|
115, 95, 115, 99, 97, 108,
|
||||||
114, 97, 109, 95, 100, 101,
|
101, 100, 0, 120, 101, 95,
|
||||||
112, 116, 104, 95, 98, 97,
|
101, 100, 114, 97, 109, 95,
|
||||||
115, 101, 95, 100, 119, 111,
|
115, 116, 101, 110, 99, 105,
|
||||||
114, 100, 115, 0, 120, 101,
|
108, 0, 1, 0, 19, 0,
|
||||||
|
1, 0, 4, 0, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 247, 7,
|
||||||
|
0, 0, 120, 101, 95, 101,
|
||||||
|
100, 114, 97, 109, 95, 114,
|
||||||
|
116, 95, 98, 97, 115, 101,
|
||||||
|
95, 100, 119, 111, 114, 100,
|
||||||
|
115, 95, 115, 99, 97, 108,
|
||||||
|
101, 100, 0, 171, 1, 0,
|
||||||
|
19, 0, 1, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
247, 7, 0, 0, 120, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
95, 101, 100, 114, 97, 109,
|
||||||
95, 115, 116, 101, 110, 99,
|
95, 114, 116, 95, 102, 111,
|
||||||
105, 108, 0, 171, 171, 171,
|
114, 109, 97, 116, 95, 102,
|
||||||
|
108, 97, 103, 115, 0, 120,
|
||||||
|
101, 95, 101, 100, 114, 97,
|
||||||
|
109, 95, 114, 116, 95, 99,
|
||||||
|
108, 97, 109, 112, 0, 171,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 172, 6, 0, 0,
|
||||||
|
120, 101, 95, 101, 100, 114,
|
||||||
|
97, 109, 95, 114, 116, 95,
|
||||||
|
107, 101, 101, 112, 95, 109,
|
||||||
|
97, 115, 107, 0, 171, 171,
|
||||||
1, 0, 19, 0, 1, 0,
|
1, 0, 19, 0, 1, 0,
|
||||||
4, 0, 2, 0, 0, 0,
|
4, 0, 2, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -527,190 +565,155 @@ const BYTE continuous_quad_hs[] =
|
||||||
0, 0, 247, 7, 0, 0,
|
0, 0, 247, 7, 0, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
120, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 114, 116, 95,
|
97, 109, 95, 114, 116, 95,
|
||||||
98, 97, 115, 101, 95, 100,
|
98, 108, 101, 110, 100, 95,
|
||||||
119, 111, 114, 100, 115, 95,
|
102, 97, 99, 116, 111, 114,
|
||||||
115, 99, 97, 108, 101, 100,
|
115, 95, 111, 112, 115, 0,
|
||||||
0, 171, 1, 0, 19, 0,
|
120, 101, 95, 101, 100, 114,
|
||||||
1, 0, 4, 0, 0, 0,
|
97, 109, 95, 98, 108, 101,
|
||||||
|
110, 100, 95, 99, 111, 110,
|
||||||
|
115, 116, 97, 110, 116, 0,
|
||||||
|
77, 105, 99, 114, 111, 115,
|
||||||
|
111, 102, 116, 32, 40, 82,
|
||||||
|
41, 32, 72, 76, 83, 76,
|
||||||
|
32, 83, 104, 97, 100, 101,
|
||||||
|
114, 32, 67, 111, 109, 112,
|
||||||
|
105, 108, 101, 114, 32, 49,
|
||||||
|
48, 46, 49, 0, 171, 171,
|
||||||
|
73, 83, 71, 78, 44, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 1, 0, 0, 88, 69,
|
||||||
0, 0, 0, 0, 247, 7,
|
86, 69, 82, 84, 69, 88,
|
||||||
0, 0, 120, 101, 95, 101,
|
73, 68, 0, 171, 79, 83,
|
||||||
100, 114, 97, 109, 95, 114,
|
|
||||||
116, 95, 102, 111, 114, 109,
|
|
||||||
97, 116, 95, 102, 108, 97,
|
|
||||||
103, 115, 0, 120, 101, 95,
|
|
||||||
101, 100, 114, 97, 109, 95,
|
|
||||||
114, 116, 95, 99, 108, 97,
|
|
||||||
109, 112, 0, 171, 1, 0,
|
|
||||||
3, 0, 1, 0, 4, 0,
|
|
||||||
4, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
172, 6, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 107, 101,
|
|
||||||
101, 112, 95, 109, 97, 115,
|
|
||||||
107, 0, 171, 171, 1, 0,
|
|
||||||
19, 0, 1, 0, 4, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
247, 7, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 98, 108,
|
|
||||||
101, 110, 100, 95, 102, 97,
|
|
||||||
99, 116, 111, 114, 115, 95,
|
|
||||||
111, 112, 115, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 98, 108, 101, 110, 100,
|
|
||||||
95, 99, 111, 110, 115, 116,
|
|
||||||
97, 110, 116, 0, 77, 105,
|
|
||||||
99, 114, 111, 115, 111, 102,
|
|
||||||
116, 32, 40, 82, 41, 32,
|
|
||||||
72, 76, 83, 76, 32, 83,
|
|
||||||
104, 97, 100, 101, 114, 32,
|
|
||||||
67, 111, 109, 112, 105, 108,
|
|
||||||
101, 114, 32, 49, 48, 46,
|
|
||||||
49, 0, 171, 171, 73, 83,
|
|
||||||
71, 78, 44, 0, 0, 0,
|
71, 78, 44, 0, 0, 0,
|
||||||
1, 0, 0, 0, 8, 0,
|
1, 0, 0, 0, 8, 0,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 1,
|
0, 0, 0, 0, 1, 14,
|
||||||
0, 0, 88, 69, 86, 69,
|
0, 0, 88, 69, 86, 69,
|
||||||
82, 84, 69, 88, 73, 68,
|
82, 84, 69, 88, 73, 68,
|
||||||
0, 171, 79, 83, 71, 78,
|
0, 171, 80, 67, 83, 71,
|
||||||
44, 0, 0, 0, 1, 0,
|
188, 0, 0, 0, 6, 0,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
32, 0, 0, 0, 0, 0,
|
152, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 11, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 14, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
88, 69, 86, 69, 82, 84,
|
152, 0, 0, 0, 1, 0,
|
||||||
69, 88, 73, 68, 0, 171,
|
0, 0, 11, 0, 0, 0,
|
||||||
80, 67, 83, 71, 188, 0,
|
3, 0, 0, 0, 1, 0,
|
||||||
0, 0, 6, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
8, 0, 0, 0, 152, 0,
|
152, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 11, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 152, 0,
|
152, 0, 0, 0, 3, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 11, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 3, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 152, 0,
|
166, 0, 0, 0, 0, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 12, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 4, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 152, 0,
|
166, 0, 0, 0, 1, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 12, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 5, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 166, 0,
|
83, 86, 95, 84, 101, 115,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
12, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 166, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
12, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 83, 86,
|
|
||||||
95, 84, 101, 115, 115, 70,
|
|
||||||
97, 99, 116, 111, 114, 0,
|
|
||||||
83, 86, 95, 73, 110, 115,
|
|
||||||
105, 100, 101, 84, 101, 115,
|
|
||||||
115, 70, 97, 99, 116, 111,
|
115, 70, 97, 99, 116, 111,
|
||||||
114, 0, 171, 171, 83, 72,
|
114, 0, 83, 86, 95, 73,
|
||||||
69, 88, 100, 1, 0, 0,
|
110, 115, 105, 100, 101, 84,
|
||||||
81, 0, 3, 0, 89, 0,
|
101, 115, 115, 70, 97, 99,
|
||||||
0, 0, 113, 0, 0, 1,
|
116, 111, 114, 0, 171, 171,
|
||||||
147, 32, 0, 1, 148, 32,
|
83, 72, 69, 88, 100, 1,
|
||||||
0, 1, 149, 24, 0, 1,
|
0, 0, 81, 0, 3, 0,
|
||||||
150, 32, 0, 1, 151, 24,
|
89, 0, 0, 0, 113, 0,
|
||||||
0, 1, 106, 8, 0, 1,
|
0, 1, 147, 32, 0, 1,
|
||||||
89, 0, 0, 7, 70, 142,
|
148, 32, 0, 1, 149, 24,
|
||||||
48, 0, 0, 0, 0, 0,
|
0, 1, 150, 32, 0, 1,
|
||||||
|
151, 24, 0, 1, 106, 8,
|
||||||
|
0, 1, 89, 0, 0, 7,
|
||||||
|
70, 142, 48, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 115, 0,
|
|
||||||
0, 1, 153, 0, 0, 2,
|
|
||||||
4, 0, 0, 0, 95, 0,
|
|
||||||
0, 2, 0, 112, 1, 0,
|
|
||||||
103, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
11, 0, 0, 0, 103, 0,
|
|
||||||
0, 4, 18, 32, 16, 0,
|
|
||||||
1, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 103, 0, 0, 4,
|
|
||||||
18, 32, 16, 0, 2, 0,
|
|
||||||
0, 0, 13, 0, 0, 0,
|
|
||||||
103, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
14, 0, 0, 0, 104, 0,
|
|
||||||
0, 2, 1, 0, 0, 0,
|
|
||||||
91, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 54, 0,
|
|
||||||
0, 4, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 112,
|
|
||||||
1, 0, 54, 0, 0, 8,
|
|
||||||
18, 32, 144, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 62, 0,
|
115, 0, 0, 1, 153, 0,
|
||||||
0, 1, 115, 0, 0, 1,
|
0, 2, 4, 0, 0, 0,
|
||||||
153, 0, 0, 2, 2, 0,
|
95, 0, 0, 2, 0, 112,
|
||||||
0, 0, 95, 0, 0, 2,
|
1, 0, 103, 0, 0, 4,
|
||||||
0, 112, 1, 0, 103, 0,
|
18, 32, 16, 0, 0, 0,
|
||||||
|
0, 0, 11, 0, 0, 0,
|
||||||
|
103, 0, 0, 4, 18, 32,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
12, 0, 0, 0, 103, 0,
|
||||||
0, 4, 18, 32, 16, 0,
|
0, 4, 18, 32, 16, 0,
|
||||||
4, 0, 0, 0, 15, 0,
|
2, 0, 0, 0, 13, 0,
|
||||||
0, 0, 103, 0, 0, 4,
|
0, 0, 103, 0, 0, 4,
|
||||||
18, 32, 16, 0, 5, 0,
|
18, 32, 16, 0, 3, 0,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 14, 0, 0, 0,
|
||||||
104, 0, 0, 2, 1, 0,
|
104, 0, 0, 2, 1, 0,
|
||||||
0, 0, 91, 0, 0, 4,
|
0, 0, 91, 0, 0, 4,
|
||||||
18, 32, 16, 0, 4, 0,
|
18, 32, 16, 0, 0, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
54, 0, 0, 4, 18, 0,
|
54, 0, 0, 4, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 112, 1, 0, 54, 0,
|
10, 112, 1, 0, 54, 0,
|
||||||
0, 9, 18, 32, 208, 0,
|
0, 8, 18, 32, 144, 0,
|
||||||
4, 0, 0, 0, 10, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 42, 128, 48, 0,
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 83, 84, 65, 84,
|
|
||||||
148, 0, 0, 0, 6, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 5, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
62, 0, 0, 1, 115, 0,
|
||||||
|
0, 1, 153, 0, 0, 2,
|
||||||
|
2, 0, 0, 0, 95, 0,
|
||||||
|
0, 2, 0, 112, 1, 0,
|
||||||
|
103, 0, 0, 4, 18, 32,
|
||||||
|
16, 0, 4, 0, 0, 0,
|
||||||
|
15, 0, 0, 0, 103, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
5, 0, 0, 0, 16, 0,
|
||||||
|
0, 0, 104, 0, 0, 2,
|
||||||
|
1, 0, 0, 0, 91, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
4, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 54, 0, 0, 4,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 112, 1, 0,
|
||||||
|
54, 0, 0, 9, 18, 32,
|
||||||
|
208, 0, 4, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
62, 0, 0, 1, 83, 84,
|
||||||
|
65, 84, 148, 0, 0, 0,
|
||||||
|
6, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
5, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
11, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 4, 0,
|
0, 0, 0, 0, 4, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 11, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
4, 0, 0, 0, 3, 0,
|
4, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0
|
||||||
0, 0
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,11 +28,11 @@
|
||||||
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
||||||
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
||||||
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
||||||
// uint xe_edram_pitch_tiles; // Offset: 236 Size: 4 [unused]
|
// uint xe_edram_32bpp_tile_pitch_dwords_scaled;// Offset: 236 Size: 4 [unused]
|
||||||
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
||||||
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
||||||
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
||||||
// uint xe_edram_depth_base_dwords; // Offset: 272 Size: 4 [unused]
|
// uint xe_edram_depth_base_dwords_scaled;// Offset: 272 Size: 4 [unused]
|
||||||
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
||||||
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
||||||
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
||||||
|
@ -112,21 +112,21 @@ ret
|
||||||
|
|
||||||
const BYTE continuous_triangle_hs[] =
|
const BYTE continuous_triangle_hs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 101, 66,
|
68, 88, 66, 67, 150, 55,
|
||||||
223, 231, 73, 98, 52, 221,
|
56, 98, 126, 111, 114, 179,
|
||||||
50, 47, 236, 69, 147, 250,
|
197, 7, 10, 15, 70, 32,
|
||||||
231, 1, 1, 0, 0, 0,
|
249, 93, 1, 0, 0, 0,
|
||||||
76, 13, 0, 0, 6, 0,
|
96, 13, 0, 0, 6, 0,
|
||||||
0, 0, 56, 0, 0, 0,
|
0, 0, 56, 0, 0, 0,
|
||||||
168, 10, 0, 0, 220, 10,
|
188, 10, 0, 0, 240, 10,
|
||||||
0, 0, 16, 11, 0, 0,
|
0, 0, 36, 11, 0, 0,
|
||||||
164, 11, 0, 0, 176, 12,
|
184, 11, 0, 0, 196, 12,
|
||||||
0, 0, 82, 68, 69, 70,
|
0, 0, 82, 68, 69, 70,
|
||||||
104, 10, 0, 0, 1, 0,
|
124, 10, 0, 0, 1, 0,
|
||||||
0, 0, 120, 0, 0, 0,
|
0, 0, 120, 0, 0, 0,
|
||||||
1, 0, 0, 0, 60, 0,
|
1, 0, 0, 0, 60, 0,
|
||||||
0, 0, 1, 5, 83, 72,
|
0, 0, 1, 5, 83, 72,
|
||||||
0, 5, 4, 0, 62, 10,
|
0, 5, 4, 0, 82, 10,
|
||||||
0, 0, 19, 19, 68, 37,
|
0, 0, 19, 19, 68, 37,
|
||||||
60, 0, 0, 0, 24, 0,
|
60, 0, 0, 0, 24, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
|
@ -286,77 +286,77 @@ const BYTE continuous_triangle_hs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 119, 8,
|
0, 0, 0, 0, 138, 8,
|
||||||
0, 0, 240, 0, 0, 0,
|
0, 0, 240, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 140, 8, 0, 0,
|
0, 0, 156, 8, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 176, 8, 0, 0,
|
0, 0, 192, 8, 0, 0,
|
||||||
0, 1, 0, 0, 8, 0,
|
0, 1, 0, 0, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
232, 5, 0, 0, 0, 0,
|
232, 5, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
203, 8, 0, 0, 8, 1,
|
219, 8, 0, 0, 8, 1,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 232, 5,
|
0, 0, 0, 0, 232, 5,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 229, 8,
|
0, 0, 0, 0, 245, 8,
|
||||||
0, 0, 16, 1, 0, 0,
|
0, 0, 16, 1, 0, 0,
|
||||||
4, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 160, 5, 0, 0,
|
0, 0, 160, 5, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 0, 9, 0, 0,
|
0, 0, 23, 9, 0, 0,
|
||||||
32, 1, 0, 0, 32, 0,
|
32, 1, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
20, 9, 0, 0, 0, 0,
|
40, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
56, 9, 0, 0, 64, 1,
|
76, 9, 0, 0, 64, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 124, 9,
|
0, 0, 0, 0, 144, 9,
|
||||||
0, 0, 80, 1, 0, 0,
|
0, 0, 80, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 149, 9, 0, 0,
|
0, 0, 169, 9, 0, 0,
|
||||||
96, 1, 0, 0, 64, 0,
|
96, 1, 0, 0, 64, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
168, 9, 0, 0, 0, 0,
|
188, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
204, 9, 0, 0, 160, 1,
|
224, 9, 0, 0, 160, 1,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 228, 9,
|
0, 0, 0, 0, 248, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 8, 10,
|
0, 0, 0, 0, 28, 10,
|
||||||
0, 0, 192, 1, 0, 0,
|
0, 0, 192, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 38, 10, 0, 0,
|
0, 0, 58, 10, 0, 0,
|
||||||
208, 1, 0, 0, 16, 0,
|
208, 1, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
140, 8, 0, 0, 0, 0,
|
156, 8, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
|
@ -481,35 +481,73 @@ const BYTE continuous_triangle_hs[] =
|
||||||
97, 108, 112, 104, 97, 95,
|
97, 108, 112, 104, 97, 95,
|
||||||
116, 111, 95, 109, 97, 115,
|
116, 111, 95, 109, 97, 115,
|
||||||
107, 0, 120, 101, 95, 101,
|
107, 0, 120, 101, 95, 101,
|
||||||
100, 114, 97, 109, 95, 112,
|
100, 114, 97, 109, 95, 51,
|
||||||
105, 116, 99, 104, 95, 116,
|
50, 98, 112, 112, 95, 116,
|
||||||
105, 108, 101, 115, 0, 120,
|
105, 108, 101, 95, 112, 105,
|
||||||
101, 95, 99, 111, 108, 111,
|
116, 99, 104, 95, 100, 119,
|
||||||
114, 95, 101, 120, 112, 95,
|
111, 114, 100, 115, 95, 115,
|
||||||
98, 105, 97, 115, 0, 171,
|
99, 97, 108, 101, 100, 0,
|
||||||
171, 171, 1, 0, 3, 0,
|
120, 101, 95, 99, 111, 108,
|
||||||
1, 0, 4, 0, 0, 0,
|
111, 114, 95, 101, 120, 112,
|
||||||
|
95, 98, 105, 97, 115, 0,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 172, 6,
|
0, 0, 172, 6, 0, 0,
|
||||||
0, 0, 120, 101, 95, 101,
|
120, 101, 95, 101, 100, 114,
|
||||||
100, 114, 97, 109, 95, 112,
|
97, 109, 95, 112, 111, 108,
|
||||||
111, 108, 121, 95, 111, 102,
|
121, 95, 111, 102, 102, 115,
|
||||||
102, 115, 101, 116, 95, 102,
|
101, 116, 95, 102, 114, 111,
|
||||||
114, 111, 110, 116, 0, 120,
|
110, 116, 0, 120, 101, 95,
|
||||||
|
101, 100, 114, 97, 109, 95,
|
||||||
|
112, 111, 108, 121, 95, 111,
|
||||||
|
102, 102, 115, 101, 116, 95,
|
||||||
|
98, 97, 99, 107, 0, 120,
|
||||||
101, 95, 101, 100, 114, 97,
|
101, 95, 101, 100, 114, 97,
|
||||||
109, 95, 112, 111, 108, 121,
|
109, 95, 100, 101, 112, 116,
|
||||||
95, 111, 102, 102, 115, 101,
|
104, 95, 98, 97, 115, 101,
|
||||||
116, 95, 98, 97, 99, 107,
|
95, 100, 119, 111, 114, 100,
|
||||||
0, 120, 101, 95, 101, 100,
|
115, 95, 115, 99, 97, 108,
|
||||||
114, 97, 109, 95, 100, 101,
|
101, 100, 0, 120, 101, 95,
|
||||||
112, 116, 104, 95, 98, 97,
|
101, 100, 114, 97, 109, 95,
|
||||||
115, 101, 95, 100, 119, 111,
|
115, 116, 101, 110, 99, 105,
|
||||||
114, 100, 115, 0, 120, 101,
|
108, 0, 1, 0, 19, 0,
|
||||||
|
1, 0, 4, 0, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 247, 7,
|
||||||
|
0, 0, 120, 101, 95, 101,
|
||||||
|
100, 114, 97, 109, 95, 114,
|
||||||
|
116, 95, 98, 97, 115, 101,
|
||||||
|
95, 100, 119, 111, 114, 100,
|
||||||
|
115, 95, 115, 99, 97, 108,
|
||||||
|
101, 100, 0, 171, 1, 0,
|
||||||
|
19, 0, 1, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
247, 7, 0, 0, 120, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
95, 101, 100, 114, 97, 109,
|
||||||
95, 115, 116, 101, 110, 99,
|
95, 114, 116, 95, 102, 111,
|
||||||
105, 108, 0, 171, 171, 171,
|
114, 109, 97, 116, 95, 102,
|
||||||
|
108, 97, 103, 115, 0, 120,
|
||||||
|
101, 95, 101, 100, 114, 97,
|
||||||
|
109, 95, 114, 116, 95, 99,
|
||||||
|
108, 97, 109, 112, 0, 171,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 172, 6, 0, 0,
|
||||||
|
120, 101, 95, 101, 100, 114,
|
||||||
|
97, 109, 95, 114, 116, 95,
|
||||||
|
107, 101, 101, 112, 95, 109,
|
||||||
|
97, 115, 107, 0, 171, 171,
|
||||||
1, 0, 19, 0, 1, 0,
|
1, 0, 19, 0, 1, 0,
|
||||||
4, 0, 2, 0, 0, 0,
|
4, 0, 2, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -518,166 +556,131 @@ const BYTE continuous_triangle_hs[] =
|
||||||
0, 0, 247, 7, 0, 0,
|
0, 0, 247, 7, 0, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
120, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 114, 116, 95,
|
97, 109, 95, 114, 116, 95,
|
||||||
98, 97, 115, 101, 95, 100,
|
98, 108, 101, 110, 100, 95,
|
||||||
119, 111, 114, 100, 115, 95,
|
102, 97, 99, 116, 111, 114,
|
||||||
115, 99, 97, 108, 101, 100,
|
115, 95, 111, 112, 115, 0,
|
||||||
0, 171, 1, 0, 19, 0,
|
120, 101, 95, 101, 100, 114,
|
||||||
1, 0, 4, 0, 0, 0,
|
97, 109, 95, 98, 108, 101,
|
||||||
|
110, 100, 95, 99, 111, 110,
|
||||||
|
115, 116, 97, 110, 116, 0,
|
||||||
|
77, 105, 99, 114, 111, 115,
|
||||||
|
111, 102, 116, 32, 40, 82,
|
||||||
|
41, 32, 72, 76, 83, 76,
|
||||||
|
32, 83, 104, 97, 100, 101,
|
||||||
|
114, 32, 67, 111, 109, 112,
|
||||||
|
105, 108, 101, 114, 32, 49,
|
||||||
|
48, 46, 49, 0, 171, 171,
|
||||||
|
73, 83, 71, 78, 44, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 1, 0, 0, 88, 69,
|
||||||
0, 0, 0, 0, 247, 7,
|
86, 69, 82, 84, 69, 88,
|
||||||
0, 0, 120, 101, 95, 101,
|
73, 68, 0, 171, 79, 83,
|
||||||
100, 114, 97, 109, 95, 114,
|
|
||||||
116, 95, 102, 111, 114, 109,
|
|
||||||
97, 116, 95, 102, 108, 97,
|
|
||||||
103, 115, 0, 120, 101, 95,
|
|
||||||
101, 100, 114, 97, 109, 95,
|
|
||||||
114, 116, 95, 99, 108, 97,
|
|
||||||
109, 112, 0, 171, 1, 0,
|
|
||||||
3, 0, 1, 0, 4, 0,
|
|
||||||
4, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
172, 6, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 107, 101,
|
|
||||||
101, 112, 95, 109, 97, 115,
|
|
||||||
107, 0, 171, 171, 1, 0,
|
|
||||||
19, 0, 1, 0, 4, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
247, 7, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 98, 108,
|
|
||||||
101, 110, 100, 95, 102, 97,
|
|
||||||
99, 116, 111, 114, 115, 95,
|
|
||||||
111, 112, 115, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 98, 108, 101, 110, 100,
|
|
||||||
95, 99, 111, 110, 115, 116,
|
|
||||||
97, 110, 116, 0, 77, 105,
|
|
||||||
99, 114, 111, 115, 111, 102,
|
|
||||||
116, 32, 40, 82, 41, 32,
|
|
||||||
72, 76, 83, 76, 32, 83,
|
|
||||||
104, 97, 100, 101, 114, 32,
|
|
||||||
67, 111, 109, 112, 105, 108,
|
|
||||||
101, 114, 32, 49, 48, 46,
|
|
||||||
49, 0, 171, 171, 73, 83,
|
|
||||||
71, 78, 44, 0, 0, 0,
|
71, 78, 44, 0, 0, 0,
|
||||||
1, 0, 0, 0, 8, 0,
|
1, 0, 0, 0, 8, 0,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 1,
|
0, 0, 0, 0, 1, 14,
|
||||||
0, 0, 88, 69, 86, 69,
|
0, 0, 88, 69, 86, 69,
|
||||||
82, 84, 69, 88, 73, 68,
|
82, 84, 69, 88, 73, 68,
|
||||||
0, 171, 79, 83, 71, 78,
|
0, 171, 80, 67, 83, 71,
|
||||||
44, 0, 0, 0, 1, 0,
|
140, 0, 0, 0, 4, 0,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
32, 0, 0, 0, 0, 0,
|
104, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 13, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 14, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
88, 69, 86, 69, 82, 84,
|
104, 0, 0, 0, 1, 0,
|
||||||
69, 88, 73, 68, 0, 171,
|
0, 0, 13, 0, 0, 0,
|
||||||
80, 67, 83, 71, 140, 0,
|
3, 0, 0, 0, 1, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
8, 0, 0, 0, 104, 0,
|
104, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 13, 0, 0, 0,
|
||||||
13, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 104, 0,
|
118, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 14, 0, 0, 0,
|
||||||
13, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 3, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 104, 0,
|
83, 86, 95, 84, 101, 115,
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
13, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 118, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
14, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 83, 86,
|
|
||||||
95, 84, 101, 115, 115, 70,
|
|
||||||
97, 99, 116, 111, 114, 0,
|
|
||||||
83, 86, 95, 73, 110, 115,
|
|
||||||
105, 100, 101, 84, 101, 115,
|
|
||||||
115, 70, 97, 99, 116, 111,
|
115, 70, 97, 99, 116, 111,
|
||||||
114, 0, 171, 171, 83, 72,
|
114, 0, 83, 86, 95, 73,
|
||||||
69, 88, 4, 1, 0, 0,
|
110, 115, 105, 100, 101, 84,
|
||||||
81, 0, 3, 0, 65, 0,
|
101, 115, 115, 70, 97, 99,
|
||||||
0, 0, 113, 0, 0, 1,
|
116, 111, 114, 0, 171, 171,
|
||||||
147, 24, 0, 1, 148, 24,
|
83, 72, 69, 88, 4, 1,
|
||||||
0, 1, 149, 16, 0, 1,
|
0, 0, 81, 0, 3, 0,
|
||||||
150, 32, 0, 1, 151, 24,
|
65, 0, 0, 0, 113, 0,
|
||||||
0, 1, 106, 8, 0, 1,
|
0, 1, 147, 24, 0, 1,
|
||||||
89, 0, 0, 7, 70, 142,
|
148, 24, 0, 1, 149, 16,
|
||||||
|
0, 1, 150, 32, 0, 1,
|
||||||
|
151, 24, 0, 1, 106, 8,
|
||||||
|
0, 1, 89, 0, 0, 7,
|
||||||
|
70, 142, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
115, 0, 0, 1, 153, 0,
|
||||||
|
0, 2, 3, 0, 0, 0,
|
||||||
|
95, 0, 0, 2, 0, 112,
|
||||||
|
1, 0, 103, 0, 0, 4,
|
||||||
|
18, 32, 16, 0, 0, 0,
|
||||||
|
0, 0, 17, 0, 0, 0,
|
||||||
|
103, 0, 0, 4, 18, 32,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
18, 0, 0, 0, 103, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
2, 0, 0, 0, 19, 0,
|
||||||
|
0, 0, 104, 0, 0, 2,
|
||||||
|
1, 0, 0, 0, 91, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 54, 0, 0, 4,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 112, 1, 0,
|
||||||
|
54, 0, 0, 8, 18, 32,
|
||||||
|
144, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 128,
|
||||||
48, 0, 0, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 62, 0, 0, 1,
|
||||||
0, 0, 0, 0, 115, 0,
|
115, 0, 0, 1, 103, 0,
|
||||||
0, 1, 153, 0, 0, 2,
|
|
||||||
3, 0, 0, 0, 95, 0,
|
|
||||||
0, 2, 0, 112, 1, 0,
|
|
||||||
103, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
17, 0, 0, 0, 103, 0,
|
|
||||||
0, 4, 18, 32, 16, 0,
|
0, 4, 18, 32, 16, 0,
|
||||||
1, 0, 0, 0, 18, 0,
|
3, 0, 0, 0, 20, 0,
|
||||||
0, 0, 103, 0, 0, 4,
|
0, 0, 54, 0, 0, 7,
|
||||||
18, 32, 16, 0, 2, 0,
|
18, 32, 16, 0, 3, 0,
|
||||||
0, 0, 19, 0, 0, 0,
|
|
||||||
104, 0, 0, 2, 1, 0,
|
|
||||||
0, 0, 91, 0, 0, 4,
|
|
||||||
18, 32, 16, 0, 0, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
54, 0, 0, 4, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 112, 1, 0, 54, 0,
|
|
||||||
0, 8, 18, 32, 144, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 128, 48, 0,
|
0, 0, 42, 128, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
62, 0, 0, 1, 115, 0,
|
62, 0, 0, 1, 83, 84,
|
||||||
0, 1, 103, 0, 0, 4,
|
65, 84, 148, 0, 0, 0,
|
||||||
18, 32, 16, 0, 3, 0,
|
5, 0, 0, 0, 1, 0,
|
||||||
0, 0, 20, 0, 0, 0,
|
|
||||||
54, 0, 0, 7, 18, 32,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 62, 0,
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 1, 83, 84, 65, 84,
|
|
||||||
148, 0, 0, 0, 5, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 2, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 3, 0,
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0
|
0, 0, 10, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,11 +28,11 @@
|
||||||
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
||||||
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
||||||
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
||||||
// uint xe_edram_pitch_tiles; // Offset: 236 Size: 4 [unused]
|
// uint xe_edram_32bpp_tile_pitch_dwords_scaled;// Offset: 236 Size: 4 [unused]
|
||||||
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
||||||
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
||||||
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
||||||
// uint xe_edram_depth_base_dwords; // Offset: 272 Size: 4 [unused]
|
// uint xe_edram_depth_base_dwords_scaled;// Offset: 272 Size: 4 [unused]
|
||||||
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
||||||
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
||||||
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
||||||
|
@ -121,21 +121,21 @@ ret
|
||||||
|
|
||||||
const BYTE discrete_quad_hs[] =
|
const BYTE discrete_quad_hs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 133, 207,
|
68, 88, 66, 67, 174, 141,
|
||||||
137, 232, 78, 97, 5, 29,
|
75, 94, 70, 108, 133, 212,
|
||||||
188, 112, 65, 159, 75, 218,
|
18, 161, 84, 115, 238, 199,
|
||||||
107, 227, 1, 0, 0, 0,
|
1, 25, 1, 0, 0, 0,
|
||||||
220, 13, 0, 0, 6, 0,
|
240, 13, 0, 0, 6, 0,
|
||||||
0, 0, 56, 0, 0, 0,
|
0, 0, 56, 0, 0, 0,
|
||||||
168, 10, 0, 0, 220, 10,
|
188, 10, 0, 0, 240, 10,
|
||||||
0, 0, 16, 11, 0, 0,
|
0, 0, 36, 11, 0, 0,
|
||||||
212, 11, 0, 0, 64, 13,
|
232, 11, 0, 0, 84, 13,
|
||||||
0, 0, 82, 68, 69, 70,
|
0, 0, 82, 68, 69, 70,
|
||||||
104, 10, 0, 0, 1, 0,
|
124, 10, 0, 0, 1, 0,
|
||||||
0, 0, 120, 0, 0, 0,
|
0, 0, 120, 0, 0, 0,
|
||||||
1, 0, 0, 0, 60, 0,
|
1, 0, 0, 0, 60, 0,
|
||||||
0, 0, 1, 5, 83, 72,
|
0, 0, 1, 5, 83, 72,
|
||||||
0, 5, 4, 0, 62, 10,
|
0, 5, 4, 0, 82, 10,
|
||||||
0, 0, 19, 19, 68, 37,
|
0, 0, 19, 19, 68, 37,
|
||||||
60, 0, 0, 0, 24, 0,
|
60, 0, 0, 0, 24, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
|
@ -295,77 +295,77 @@ const BYTE discrete_quad_hs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 119, 8,
|
0, 0, 0, 0, 138, 8,
|
||||||
0, 0, 240, 0, 0, 0,
|
0, 0, 240, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 140, 8, 0, 0,
|
0, 0, 156, 8, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 176, 8, 0, 0,
|
0, 0, 192, 8, 0, 0,
|
||||||
0, 1, 0, 0, 8, 0,
|
0, 1, 0, 0, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
232, 5, 0, 0, 0, 0,
|
232, 5, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
203, 8, 0, 0, 8, 1,
|
219, 8, 0, 0, 8, 1,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 232, 5,
|
0, 0, 0, 0, 232, 5,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 229, 8,
|
0, 0, 0, 0, 245, 8,
|
||||||
0, 0, 16, 1, 0, 0,
|
0, 0, 16, 1, 0, 0,
|
||||||
4, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 160, 5, 0, 0,
|
0, 0, 160, 5, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 0, 9, 0, 0,
|
0, 0, 23, 9, 0, 0,
|
||||||
32, 1, 0, 0, 32, 0,
|
32, 1, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
20, 9, 0, 0, 0, 0,
|
40, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
56, 9, 0, 0, 64, 1,
|
76, 9, 0, 0, 64, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 124, 9,
|
0, 0, 0, 0, 144, 9,
|
||||||
0, 0, 80, 1, 0, 0,
|
0, 0, 80, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 149, 9, 0, 0,
|
0, 0, 169, 9, 0, 0,
|
||||||
96, 1, 0, 0, 64, 0,
|
96, 1, 0, 0, 64, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
168, 9, 0, 0, 0, 0,
|
188, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
204, 9, 0, 0, 160, 1,
|
224, 9, 0, 0, 160, 1,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 228, 9,
|
0, 0, 0, 0, 248, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 8, 10,
|
0, 0, 0, 0, 28, 10,
|
||||||
0, 0, 192, 1, 0, 0,
|
0, 0, 192, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 38, 10, 0, 0,
|
0, 0, 58, 10, 0, 0,
|
||||||
208, 1, 0, 0, 16, 0,
|
208, 1, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
140, 8, 0, 0, 0, 0,
|
156, 8, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
|
@ -490,35 +490,73 @@ const BYTE discrete_quad_hs[] =
|
||||||
97, 108, 112, 104, 97, 95,
|
97, 108, 112, 104, 97, 95,
|
||||||
116, 111, 95, 109, 97, 115,
|
116, 111, 95, 109, 97, 115,
|
||||||
107, 0, 120, 101, 95, 101,
|
107, 0, 120, 101, 95, 101,
|
||||||
100, 114, 97, 109, 95, 112,
|
100, 114, 97, 109, 95, 51,
|
||||||
105, 116, 99, 104, 95, 116,
|
50, 98, 112, 112, 95, 116,
|
||||||
105, 108, 101, 115, 0, 120,
|
105, 108, 101, 95, 112, 105,
|
||||||
101, 95, 99, 111, 108, 111,
|
116, 99, 104, 95, 100, 119,
|
||||||
114, 95, 101, 120, 112, 95,
|
111, 114, 100, 115, 95, 115,
|
||||||
98, 105, 97, 115, 0, 171,
|
99, 97, 108, 101, 100, 0,
|
||||||
171, 171, 1, 0, 3, 0,
|
120, 101, 95, 99, 111, 108,
|
||||||
1, 0, 4, 0, 0, 0,
|
111, 114, 95, 101, 120, 112,
|
||||||
|
95, 98, 105, 97, 115, 0,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 172, 6,
|
0, 0, 172, 6, 0, 0,
|
||||||
0, 0, 120, 101, 95, 101,
|
120, 101, 95, 101, 100, 114,
|
||||||
100, 114, 97, 109, 95, 112,
|
97, 109, 95, 112, 111, 108,
|
||||||
111, 108, 121, 95, 111, 102,
|
121, 95, 111, 102, 102, 115,
|
||||||
102, 115, 101, 116, 95, 102,
|
101, 116, 95, 102, 114, 111,
|
||||||
114, 111, 110, 116, 0, 120,
|
110, 116, 0, 120, 101, 95,
|
||||||
|
101, 100, 114, 97, 109, 95,
|
||||||
|
112, 111, 108, 121, 95, 111,
|
||||||
|
102, 102, 115, 101, 116, 95,
|
||||||
|
98, 97, 99, 107, 0, 120,
|
||||||
101, 95, 101, 100, 114, 97,
|
101, 95, 101, 100, 114, 97,
|
||||||
109, 95, 112, 111, 108, 121,
|
109, 95, 100, 101, 112, 116,
|
||||||
95, 111, 102, 102, 115, 101,
|
104, 95, 98, 97, 115, 101,
|
||||||
116, 95, 98, 97, 99, 107,
|
95, 100, 119, 111, 114, 100,
|
||||||
0, 120, 101, 95, 101, 100,
|
115, 95, 115, 99, 97, 108,
|
||||||
114, 97, 109, 95, 100, 101,
|
101, 100, 0, 120, 101, 95,
|
||||||
112, 116, 104, 95, 98, 97,
|
101, 100, 114, 97, 109, 95,
|
||||||
115, 101, 95, 100, 119, 111,
|
115, 116, 101, 110, 99, 105,
|
||||||
114, 100, 115, 0, 120, 101,
|
108, 0, 1, 0, 19, 0,
|
||||||
|
1, 0, 4, 0, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 247, 7,
|
||||||
|
0, 0, 120, 101, 95, 101,
|
||||||
|
100, 114, 97, 109, 95, 114,
|
||||||
|
116, 95, 98, 97, 115, 101,
|
||||||
|
95, 100, 119, 111, 114, 100,
|
||||||
|
115, 95, 115, 99, 97, 108,
|
||||||
|
101, 100, 0, 171, 1, 0,
|
||||||
|
19, 0, 1, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
247, 7, 0, 0, 120, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
95, 101, 100, 114, 97, 109,
|
||||||
95, 115, 116, 101, 110, 99,
|
95, 114, 116, 95, 102, 111,
|
||||||
105, 108, 0, 171, 171, 171,
|
114, 109, 97, 116, 95, 102,
|
||||||
|
108, 97, 103, 115, 0, 120,
|
||||||
|
101, 95, 101, 100, 114, 97,
|
||||||
|
109, 95, 114, 116, 95, 99,
|
||||||
|
108, 97, 109, 112, 0, 171,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 172, 6, 0, 0,
|
||||||
|
120, 101, 95, 101, 100, 114,
|
||||||
|
97, 109, 95, 114, 116, 95,
|
||||||
|
107, 101, 101, 112, 95, 109,
|
||||||
|
97, 115, 107, 0, 171, 171,
|
||||||
1, 0, 19, 0, 1, 0,
|
1, 0, 19, 0, 1, 0,
|
||||||
4, 0, 2, 0, 0, 0,
|
4, 0, 2, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -527,190 +565,155 @@ const BYTE discrete_quad_hs[] =
|
||||||
0, 0, 247, 7, 0, 0,
|
0, 0, 247, 7, 0, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
120, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 114, 116, 95,
|
97, 109, 95, 114, 116, 95,
|
||||||
98, 97, 115, 101, 95, 100,
|
98, 108, 101, 110, 100, 95,
|
||||||
119, 111, 114, 100, 115, 95,
|
102, 97, 99, 116, 111, 114,
|
||||||
115, 99, 97, 108, 101, 100,
|
115, 95, 111, 112, 115, 0,
|
||||||
0, 171, 1, 0, 19, 0,
|
120, 101, 95, 101, 100, 114,
|
||||||
1, 0, 4, 0, 0, 0,
|
97, 109, 95, 98, 108, 101,
|
||||||
|
110, 100, 95, 99, 111, 110,
|
||||||
|
115, 116, 97, 110, 116, 0,
|
||||||
|
77, 105, 99, 114, 111, 115,
|
||||||
|
111, 102, 116, 32, 40, 82,
|
||||||
|
41, 32, 72, 76, 83, 76,
|
||||||
|
32, 83, 104, 97, 100, 101,
|
||||||
|
114, 32, 67, 111, 109, 112,
|
||||||
|
105, 108, 101, 114, 32, 49,
|
||||||
|
48, 46, 49, 0, 171, 171,
|
||||||
|
73, 83, 71, 78, 44, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 1, 0, 0, 88, 69,
|
||||||
0, 0, 0, 0, 247, 7,
|
86, 69, 82, 84, 69, 88,
|
||||||
0, 0, 120, 101, 95, 101,
|
73, 68, 0, 171, 79, 83,
|
||||||
100, 114, 97, 109, 95, 114,
|
|
||||||
116, 95, 102, 111, 114, 109,
|
|
||||||
97, 116, 95, 102, 108, 97,
|
|
||||||
103, 115, 0, 120, 101, 95,
|
|
||||||
101, 100, 114, 97, 109, 95,
|
|
||||||
114, 116, 95, 99, 108, 97,
|
|
||||||
109, 112, 0, 171, 1, 0,
|
|
||||||
3, 0, 1, 0, 4, 0,
|
|
||||||
4, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
172, 6, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 107, 101,
|
|
||||||
101, 112, 95, 109, 97, 115,
|
|
||||||
107, 0, 171, 171, 1, 0,
|
|
||||||
19, 0, 1, 0, 4, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
247, 7, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 98, 108,
|
|
||||||
101, 110, 100, 95, 102, 97,
|
|
||||||
99, 116, 111, 114, 115, 95,
|
|
||||||
111, 112, 115, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 98, 108, 101, 110, 100,
|
|
||||||
95, 99, 111, 110, 115, 116,
|
|
||||||
97, 110, 116, 0, 77, 105,
|
|
||||||
99, 114, 111, 115, 111, 102,
|
|
||||||
116, 32, 40, 82, 41, 32,
|
|
||||||
72, 76, 83, 76, 32, 83,
|
|
||||||
104, 97, 100, 101, 114, 32,
|
|
||||||
67, 111, 109, 112, 105, 108,
|
|
||||||
101, 114, 32, 49, 48, 46,
|
|
||||||
49, 0, 171, 171, 73, 83,
|
|
||||||
71, 78, 44, 0, 0, 0,
|
71, 78, 44, 0, 0, 0,
|
||||||
1, 0, 0, 0, 8, 0,
|
1, 0, 0, 0, 8, 0,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 1,
|
0, 0, 0, 0, 1, 14,
|
||||||
0, 0, 88, 69, 86, 69,
|
0, 0, 88, 69, 86, 69,
|
||||||
82, 84, 69, 88, 73, 68,
|
82, 84, 69, 88, 73, 68,
|
||||||
0, 171, 79, 83, 71, 78,
|
0, 171, 80, 67, 83, 71,
|
||||||
44, 0, 0, 0, 1, 0,
|
188, 0, 0, 0, 6, 0,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
32, 0, 0, 0, 0, 0,
|
152, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 11, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 14, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
88, 69, 86, 69, 82, 84,
|
152, 0, 0, 0, 1, 0,
|
||||||
69, 88, 73, 68, 0, 171,
|
0, 0, 11, 0, 0, 0,
|
||||||
80, 67, 83, 71, 188, 0,
|
3, 0, 0, 0, 1, 0,
|
||||||
0, 0, 6, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
8, 0, 0, 0, 152, 0,
|
152, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 11, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 152, 0,
|
152, 0, 0, 0, 3, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 11, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 3, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 152, 0,
|
166, 0, 0, 0, 0, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 12, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 4, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 152, 0,
|
166, 0, 0, 0, 1, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 12, 0, 0, 0,
|
||||||
11, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 5, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 166, 0,
|
83, 86, 95, 84, 101, 115,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
12, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 166, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
12, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 83, 86,
|
|
||||||
95, 84, 101, 115, 115, 70,
|
|
||||||
97, 99, 116, 111, 114, 0,
|
|
||||||
83, 86, 95, 73, 110, 115,
|
|
||||||
105, 100, 101, 84, 101, 115,
|
|
||||||
115, 70, 97, 99, 116, 111,
|
115, 70, 97, 99, 116, 111,
|
||||||
114, 0, 171, 171, 83, 72,
|
114, 0, 83, 86, 95, 73,
|
||||||
69, 88, 100, 1, 0, 0,
|
110, 115, 105, 100, 101, 84,
|
||||||
81, 0, 3, 0, 89, 0,
|
101, 115, 115, 70, 97, 99,
|
||||||
0, 0, 113, 0, 0, 1,
|
116, 111, 114, 0, 171, 171,
|
||||||
147, 32, 0, 1, 148, 32,
|
83, 72, 69, 88, 100, 1,
|
||||||
0, 1, 149, 24, 0, 1,
|
0, 0, 81, 0, 3, 0,
|
||||||
150, 8, 0, 1, 151, 24,
|
89, 0, 0, 0, 113, 0,
|
||||||
0, 1, 106, 8, 0, 1,
|
0, 1, 147, 32, 0, 1,
|
||||||
89, 0, 0, 7, 70, 142,
|
148, 32, 0, 1, 149, 24,
|
||||||
48, 0, 0, 0, 0, 0,
|
0, 1, 150, 8, 0, 1,
|
||||||
|
151, 24, 0, 1, 106, 8,
|
||||||
|
0, 1, 89, 0, 0, 7,
|
||||||
|
70, 142, 48, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 115, 0,
|
|
||||||
0, 1, 153, 0, 0, 2,
|
|
||||||
4, 0, 0, 0, 95, 0,
|
|
||||||
0, 2, 0, 112, 1, 0,
|
|
||||||
103, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
11, 0, 0, 0, 103, 0,
|
|
||||||
0, 4, 18, 32, 16, 0,
|
|
||||||
1, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 103, 0, 0, 4,
|
|
||||||
18, 32, 16, 0, 2, 0,
|
|
||||||
0, 0, 13, 0, 0, 0,
|
|
||||||
103, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
14, 0, 0, 0, 104, 0,
|
|
||||||
0, 2, 1, 0, 0, 0,
|
|
||||||
91, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 54, 0,
|
|
||||||
0, 4, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 112,
|
|
||||||
1, 0, 54, 0, 0, 8,
|
|
||||||
18, 32, 144, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 62, 0,
|
115, 0, 0, 1, 153, 0,
|
||||||
0, 1, 115, 0, 0, 1,
|
0, 2, 4, 0, 0, 0,
|
||||||
153, 0, 0, 2, 2, 0,
|
95, 0, 0, 2, 0, 112,
|
||||||
0, 0, 95, 0, 0, 2,
|
1, 0, 103, 0, 0, 4,
|
||||||
0, 112, 1, 0, 103, 0,
|
18, 32, 16, 0, 0, 0,
|
||||||
|
0, 0, 11, 0, 0, 0,
|
||||||
|
103, 0, 0, 4, 18, 32,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
12, 0, 0, 0, 103, 0,
|
||||||
0, 4, 18, 32, 16, 0,
|
0, 4, 18, 32, 16, 0,
|
||||||
4, 0, 0, 0, 15, 0,
|
2, 0, 0, 0, 13, 0,
|
||||||
0, 0, 103, 0, 0, 4,
|
0, 0, 103, 0, 0, 4,
|
||||||
18, 32, 16, 0, 5, 0,
|
18, 32, 16, 0, 3, 0,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 14, 0, 0, 0,
|
||||||
104, 0, 0, 2, 1, 0,
|
104, 0, 0, 2, 1, 0,
|
||||||
0, 0, 91, 0, 0, 4,
|
0, 0, 91, 0, 0, 4,
|
||||||
18, 32, 16, 0, 4, 0,
|
18, 32, 16, 0, 0, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
54, 0, 0, 4, 18, 0,
|
54, 0, 0, 4, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 112, 1, 0, 54, 0,
|
10, 112, 1, 0, 54, 0,
|
||||||
0, 9, 18, 32, 208, 0,
|
0, 8, 18, 32, 144, 0,
|
||||||
4, 0, 0, 0, 10, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 42, 128, 48, 0,
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 83, 84, 65, 84,
|
|
||||||
148, 0, 0, 0, 6, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 5, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
62, 0, 0, 1, 115, 0,
|
||||||
|
0, 1, 153, 0, 0, 2,
|
||||||
|
2, 0, 0, 0, 95, 0,
|
||||||
|
0, 2, 0, 112, 1, 0,
|
||||||
|
103, 0, 0, 4, 18, 32,
|
||||||
|
16, 0, 4, 0, 0, 0,
|
||||||
|
15, 0, 0, 0, 103, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
5, 0, 0, 0, 16, 0,
|
||||||
|
0, 0, 104, 0, 0, 2,
|
||||||
|
1, 0, 0, 0, 91, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
4, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 54, 0, 0, 4,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 112, 1, 0,
|
||||||
|
54, 0, 0, 9, 18, 32,
|
||||||
|
208, 0, 4, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
62, 0, 0, 1, 83, 84,
|
||||||
|
65, 84, 148, 0, 0, 0,
|
||||||
|
6, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
5, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
11, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 4, 0,
|
0, 0, 0, 0, 4, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0
|
0, 0, 11, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,11 +28,11 @@
|
||||||
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
||||||
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
||||||
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
||||||
// uint xe_edram_pitch_tiles; // Offset: 236 Size: 4 [unused]
|
// uint xe_edram_32bpp_tile_pitch_dwords_scaled;// Offset: 236 Size: 4 [unused]
|
||||||
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
||||||
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
||||||
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
||||||
// uint xe_edram_depth_base_dwords; // Offset: 272 Size: 4 [unused]
|
// uint xe_edram_depth_base_dwords_scaled;// Offset: 272 Size: 4 [unused]
|
||||||
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
||||||
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
||||||
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
||||||
|
@ -112,21 +112,21 @@ ret
|
||||||
|
|
||||||
const BYTE discrete_triangle_hs[] =
|
const BYTE discrete_triangle_hs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 106, 99,
|
68, 88, 66, 67, 100, 231,
|
||||||
99, 223, 105, 193, 70, 218,
|
203, 227, 24, 0, 204, 209,
|
||||||
33, 84, 217, 184, 177, 180,
|
145, 54, 166, 75, 102, 255,
|
||||||
199, 65, 1, 0, 0, 0,
|
190, 98, 1, 0, 0, 0,
|
||||||
76, 13, 0, 0, 6, 0,
|
96, 13, 0, 0, 6, 0,
|
||||||
0, 0, 56, 0, 0, 0,
|
0, 0, 56, 0, 0, 0,
|
||||||
168, 10, 0, 0, 220, 10,
|
188, 10, 0, 0, 240, 10,
|
||||||
0, 0, 16, 11, 0, 0,
|
0, 0, 36, 11, 0, 0,
|
||||||
164, 11, 0, 0, 176, 12,
|
184, 11, 0, 0, 196, 12,
|
||||||
0, 0, 82, 68, 69, 70,
|
0, 0, 82, 68, 69, 70,
|
||||||
104, 10, 0, 0, 1, 0,
|
124, 10, 0, 0, 1, 0,
|
||||||
0, 0, 120, 0, 0, 0,
|
0, 0, 120, 0, 0, 0,
|
||||||
1, 0, 0, 0, 60, 0,
|
1, 0, 0, 0, 60, 0,
|
||||||
0, 0, 1, 5, 83, 72,
|
0, 0, 1, 5, 83, 72,
|
||||||
0, 5, 4, 0, 62, 10,
|
0, 5, 4, 0, 82, 10,
|
||||||
0, 0, 19, 19, 68, 37,
|
0, 0, 19, 19, 68, 37,
|
||||||
60, 0, 0, 0, 24, 0,
|
60, 0, 0, 0, 24, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
|
@ -286,77 +286,77 @@ const BYTE discrete_triangle_hs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 119, 8,
|
0, 0, 0, 0, 138, 8,
|
||||||
0, 0, 240, 0, 0, 0,
|
0, 0, 240, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 140, 8, 0, 0,
|
0, 0, 156, 8, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 176, 8, 0, 0,
|
0, 0, 192, 8, 0, 0,
|
||||||
0, 1, 0, 0, 8, 0,
|
0, 1, 0, 0, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
232, 5, 0, 0, 0, 0,
|
232, 5, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
203, 8, 0, 0, 8, 1,
|
219, 8, 0, 0, 8, 1,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 232, 5,
|
0, 0, 0, 0, 232, 5,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 229, 8,
|
0, 0, 0, 0, 245, 8,
|
||||||
0, 0, 16, 1, 0, 0,
|
0, 0, 16, 1, 0, 0,
|
||||||
4, 0, 0, 0, 0, 0,
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 160, 5, 0, 0,
|
0, 0, 160, 5, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 0, 9, 0, 0,
|
0, 0, 23, 9, 0, 0,
|
||||||
32, 1, 0, 0, 32, 0,
|
32, 1, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
20, 9, 0, 0, 0, 0,
|
40, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
56, 9, 0, 0, 64, 1,
|
76, 9, 0, 0, 64, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 124, 9,
|
0, 0, 0, 0, 144, 9,
|
||||||
0, 0, 80, 1, 0, 0,
|
0, 0, 80, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 149, 9, 0, 0,
|
0, 0, 169, 9, 0, 0,
|
||||||
96, 1, 0, 0, 64, 0,
|
96, 1, 0, 0, 64, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
168, 9, 0, 0, 0, 0,
|
188, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
204, 9, 0, 0, 160, 1,
|
224, 9, 0, 0, 160, 1,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 228, 9,
|
0, 0, 0, 0, 248, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 8, 10,
|
0, 0, 0, 0, 28, 10,
|
||||||
0, 0, 192, 1, 0, 0,
|
0, 0, 192, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 88, 9, 0, 0,
|
0, 0, 108, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 38, 10, 0, 0,
|
0, 0, 58, 10, 0, 0,
|
||||||
208, 1, 0, 0, 16, 0,
|
208, 1, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
140, 8, 0, 0, 0, 0,
|
156, 8, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
|
@ -481,35 +481,73 @@ const BYTE discrete_triangle_hs[] =
|
||||||
97, 108, 112, 104, 97, 95,
|
97, 108, 112, 104, 97, 95,
|
||||||
116, 111, 95, 109, 97, 115,
|
116, 111, 95, 109, 97, 115,
|
||||||
107, 0, 120, 101, 95, 101,
|
107, 0, 120, 101, 95, 101,
|
||||||
100, 114, 97, 109, 95, 112,
|
100, 114, 97, 109, 95, 51,
|
||||||
105, 116, 99, 104, 95, 116,
|
50, 98, 112, 112, 95, 116,
|
||||||
105, 108, 101, 115, 0, 120,
|
105, 108, 101, 95, 112, 105,
|
||||||
101, 95, 99, 111, 108, 111,
|
116, 99, 104, 95, 100, 119,
|
||||||
114, 95, 101, 120, 112, 95,
|
111, 114, 100, 115, 95, 115,
|
||||||
98, 105, 97, 115, 0, 171,
|
99, 97, 108, 101, 100, 0,
|
||||||
171, 171, 1, 0, 3, 0,
|
120, 101, 95, 99, 111, 108,
|
||||||
1, 0, 4, 0, 0, 0,
|
111, 114, 95, 101, 120, 112,
|
||||||
|
95, 98, 105, 97, 115, 0,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 172, 6,
|
0, 0, 172, 6, 0, 0,
|
||||||
0, 0, 120, 101, 95, 101,
|
120, 101, 95, 101, 100, 114,
|
||||||
100, 114, 97, 109, 95, 112,
|
97, 109, 95, 112, 111, 108,
|
||||||
111, 108, 121, 95, 111, 102,
|
121, 95, 111, 102, 102, 115,
|
||||||
102, 115, 101, 116, 95, 102,
|
101, 116, 95, 102, 114, 111,
|
||||||
114, 111, 110, 116, 0, 120,
|
110, 116, 0, 120, 101, 95,
|
||||||
|
101, 100, 114, 97, 109, 95,
|
||||||
|
112, 111, 108, 121, 95, 111,
|
||||||
|
102, 102, 115, 101, 116, 95,
|
||||||
|
98, 97, 99, 107, 0, 120,
|
||||||
101, 95, 101, 100, 114, 97,
|
101, 95, 101, 100, 114, 97,
|
||||||
109, 95, 112, 111, 108, 121,
|
109, 95, 100, 101, 112, 116,
|
||||||
95, 111, 102, 102, 115, 101,
|
104, 95, 98, 97, 115, 101,
|
||||||
116, 95, 98, 97, 99, 107,
|
95, 100, 119, 111, 114, 100,
|
||||||
0, 120, 101, 95, 101, 100,
|
115, 95, 115, 99, 97, 108,
|
||||||
114, 97, 109, 95, 100, 101,
|
101, 100, 0, 120, 101, 95,
|
||||||
112, 116, 104, 95, 98, 97,
|
101, 100, 114, 97, 109, 95,
|
||||||
115, 101, 95, 100, 119, 111,
|
115, 116, 101, 110, 99, 105,
|
||||||
114, 100, 115, 0, 120, 101,
|
108, 0, 1, 0, 19, 0,
|
||||||
|
1, 0, 4, 0, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 247, 7,
|
||||||
|
0, 0, 120, 101, 95, 101,
|
||||||
|
100, 114, 97, 109, 95, 114,
|
||||||
|
116, 95, 98, 97, 115, 101,
|
||||||
|
95, 100, 119, 111, 114, 100,
|
||||||
|
115, 95, 115, 99, 97, 108,
|
||||||
|
101, 100, 0, 171, 1, 0,
|
||||||
|
19, 0, 1, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
247, 7, 0, 0, 120, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
95, 101, 100, 114, 97, 109,
|
||||||
95, 115, 116, 101, 110, 99,
|
95, 114, 116, 95, 102, 111,
|
||||||
105, 108, 0, 171, 171, 171,
|
114, 109, 97, 116, 95, 102,
|
||||||
|
108, 97, 103, 115, 0, 120,
|
||||||
|
101, 95, 101, 100, 114, 97,
|
||||||
|
109, 95, 114, 116, 95, 99,
|
||||||
|
108, 97, 109, 112, 0, 171,
|
||||||
|
1, 0, 3, 0, 1, 0,
|
||||||
|
4, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 172, 6, 0, 0,
|
||||||
|
120, 101, 95, 101, 100, 114,
|
||||||
|
97, 109, 95, 114, 116, 95,
|
||||||
|
107, 101, 101, 112, 95, 109,
|
||||||
|
97, 115, 107, 0, 171, 171,
|
||||||
1, 0, 19, 0, 1, 0,
|
1, 0, 19, 0, 1, 0,
|
||||||
4, 0, 2, 0, 0, 0,
|
4, 0, 2, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -518,166 +556,131 @@ const BYTE discrete_triangle_hs[] =
|
||||||
0, 0, 247, 7, 0, 0,
|
0, 0, 247, 7, 0, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
120, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 114, 116, 95,
|
97, 109, 95, 114, 116, 95,
|
||||||
98, 97, 115, 101, 95, 100,
|
98, 108, 101, 110, 100, 95,
|
||||||
119, 111, 114, 100, 115, 95,
|
102, 97, 99, 116, 111, 114,
|
||||||
115, 99, 97, 108, 101, 100,
|
115, 95, 111, 112, 115, 0,
|
||||||
0, 171, 1, 0, 19, 0,
|
120, 101, 95, 101, 100, 114,
|
||||||
1, 0, 4, 0, 0, 0,
|
97, 109, 95, 98, 108, 101,
|
||||||
|
110, 100, 95, 99, 111, 110,
|
||||||
|
115, 116, 97, 110, 116, 0,
|
||||||
|
77, 105, 99, 114, 111, 115,
|
||||||
|
111, 102, 116, 32, 40, 82,
|
||||||
|
41, 32, 72, 76, 83, 76,
|
||||||
|
32, 83, 104, 97, 100, 101,
|
||||||
|
114, 32, 67, 111, 109, 112,
|
||||||
|
105, 108, 101, 114, 32, 49,
|
||||||
|
48, 46, 49, 0, 171, 171,
|
||||||
|
73, 83, 71, 78, 44, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 1, 0, 0, 88, 69,
|
||||||
0, 0, 0, 0, 247, 7,
|
86, 69, 82, 84, 69, 88,
|
||||||
0, 0, 120, 101, 95, 101,
|
73, 68, 0, 171, 79, 83,
|
||||||
100, 114, 97, 109, 95, 114,
|
|
||||||
116, 95, 102, 111, 114, 109,
|
|
||||||
97, 116, 95, 102, 108, 97,
|
|
||||||
103, 115, 0, 120, 101, 95,
|
|
||||||
101, 100, 114, 97, 109, 95,
|
|
||||||
114, 116, 95, 99, 108, 97,
|
|
||||||
109, 112, 0, 171, 1, 0,
|
|
||||||
3, 0, 1, 0, 4, 0,
|
|
||||||
4, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
172, 6, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 107, 101,
|
|
||||||
101, 112, 95, 109, 97, 115,
|
|
||||||
107, 0, 171, 171, 1, 0,
|
|
||||||
19, 0, 1, 0, 4, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
247, 7, 0, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 114, 116, 95, 98, 108,
|
|
||||||
101, 110, 100, 95, 102, 97,
|
|
||||||
99, 116, 111, 114, 115, 95,
|
|
||||||
111, 112, 115, 0, 120, 101,
|
|
||||||
95, 101, 100, 114, 97, 109,
|
|
||||||
95, 98, 108, 101, 110, 100,
|
|
||||||
95, 99, 111, 110, 115, 116,
|
|
||||||
97, 110, 116, 0, 77, 105,
|
|
||||||
99, 114, 111, 115, 111, 102,
|
|
||||||
116, 32, 40, 82, 41, 32,
|
|
||||||
72, 76, 83, 76, 32, 83,
|
|
||||||
104, 97, 100, 101, 114, 32,
|
|
||||||
67, 111, 109, 112, 105, 108,
|
|
||||||
101, 114, 32, 49, 48, 46,
|
|
||||||
49, 0, 171, 171, 73, 83,
|
|
||||||
71, 78, 44, 0, 0, 0,
|
71, 78, 44, 0, 0, 0,
|
||||||
1, 0, 0, 0, 8, 0,
|
1, 0, 0, 0, 8, 0,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 32, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 1,
|
0, 0, 0, 0, 1, 14,
|
||||||
0, 0, 88, 69, 86, 69,
|
0, 0, 88, 69, 86, 69,
|
||||||
82, 84, 69, 88, 73, 68,
|
82, 84, 69, 88, 73, 68,
|
||||||
0, 171, 79, 83, 71, 78,
|
0, 171, 80, 67, 83, 71,
|
||||||
44, 0, 0, 0, 1, 0,
|
140, 0, 0, 0, 4, 0,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
32, 0, 0, 0, 0, 0,
|
104, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 13, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 14, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
88, 69, 86, 69, 82, 84,
|
104, 0, 0, 0, 1, 0,
|
||||||
69, 88, 73, 68, 0, 171,
|
0, 0, 13, 0, 0, 0,
|
||||||
80, 67, 83, 71, 140, 0,
|
3, 0, 0, 0, 1, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
8, 0, 0, 0, 104, 0,
|
104, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 13, 0, 0, 0,
|
||||||
13, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 104, 0,
|
118, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 14, 0, 0, 0,
|
||||||
13, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 3, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 14, 0, 0,
|
||||||
1, 14, 0, 0, 104, 0,
|
83, 86, 95, 84, 101, 115,
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
13, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 118, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
14, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
1, 14, 0, 0, 83, 86,
|
|
||||||
95, 84, 101, 115, 115, 70,
|
|
||||||
97, 99, 116, 111, 114, 0,
|
|
||||||
83, 86, 95, 73, 110, 115,
|
|
||||||
105, 100, 101, 84, 101, 115,
|
|
||||||
115, 70, 97, 99, 116, 111,
|
115, 70, 97, 99, 116, 111,
|
||||||
114, 0, 171, 171, 83, 72,
|
114, 0, 83, 86, 95, 73,
|
||||||
69, 88, 4, 1, 0, 0,
|
110, 115, 105, 100, 101, 84,
|
||||||
81, 0, 3, 0, 65, 0,
|
101, 115, 115, 70, 97, 99,
|
||||||
0, 0, 113, 0, 0, 1,
|
116, 111, 114, 0, 171, 171,
|
||||||
147, 24, 0, 1, 148, 24,
|
83, 72, 69, 88, 4, 1,
|
||||||
0, 1, 149, 16, 0, 1,
|
0, 0, 81, 0, 3, 0,
|
||||||
150, 8, 0, 1, 151, 24,
|
65, 0, 0, 0, 113, 0,
|
||||||
0, 1, 106, 8, 0, 1,
|
0, 1, 147, 24, 0, 1,
|
||||||
89, 0, 0, 7, 70, 142,
|
148, 24, 0, 1, 149, 16,
|
||||||
|
0, 1, 150, 8, 0, 1,
|
||||||
|
151, 24, 0, 1, 106, 8,
|
||||||
|
0, 1, 89, 0, 0, 7,
|
||||||
|
70, 142, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
115, 0, 0, 1, 153, 0,
|
||||||
|
0, 2, 3, 0, 0, 0,
|
||||||
|
95, 0, 0, 2, 0, 112,
|
||||||
|
1, 0, 103, 0, 0, 4,
|
||||||
|
18, 32, 16, 0, 0, 0,
|
||||||
|
0, 0, 17, 0, 0, 0,
|
||||||
|
103, 0, 0, 4, 18, 32,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
18, 0, 0, 0, 103, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
2, 0, 0, 0, 19, 0,
|
||||||
|
0, 0, 104, 0, 0, 2,
|
||||||
|
1, 0, 0, 0, 91, 0,
|
||||||
|
0, 4, 18, 32, 16, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 54, 0, 0, 4,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 112, 1, 0,
|
||||||
|
54, 0, 0, 8, 18, 32,
|
||||||
|
144, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 128,
|
||||||
48, 0, 0, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 62, 0, 0, 1,
|
||||||
0, 0, 0, 0, 115, 0,
|
115, 0, 0, 1, 103, 0,
|
||||||
0, 1, 153, 0, 0, 2,
|
|
||||||
3, 0, 0, 0, 95, 0,
|
|
||||||
0, 2, 0, 112, 1, 0,
|
|
||||||
103, 0, 0, 4, 18, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
17, 0, 0, 0, 103, 0,
|
|
||||||
0, 4, 18, 32, 16, 0,
|
0, 4, 18, 32, 16, 0,
|
||||||
1, 0, 0, 0, 18, 0,
|
3, 0, 0, 0, 20, 0,
|
||||||
0, 0, 103, 0, 0, 4,
|
0, 0, 54, 0, 0, 7,
|
||||||
18, 32, 16, 0, 2, 0,
|
18, 32, 16, 0, 3, 0,
|
||||||
0, 0, 19, 0, 0, 0,
|
|
||||||
104, 0, 0, 2, 1, 0,
|
|
||||||
0, 0, 91, 0, 0, 4,
|
|
||||||
18, 32, 16, 0, 0, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
54, 0, 0, 4, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 112, 1, 0, 54, 0,
|
|
||||||
0, 8, 18, 32, 144, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 128, 48, 0,
|
0, 0, 42, 128, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
62, 0, 0, 1, 115, 0,
|
62, 0, 0, 1, 83, 84,
|
||||||
0, 1, 103, 0, 0, 4,
|
65, 84, 148, 0, 0, 0,
|
||||||
18, 32, 16, 0, 3, 0,
|
5, 0, 0, 0, 1, 0,
|
||||||
0, 0, 20, 0, 0, 0,
|
|
||||||
54, 0, 0, 7, 18, 32,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 62, 0,
|
4, 0, 0, 0, 0, 0,
|
||||||
0, 1, 83, 84, 65, 84,
|
|
||||||
148, 0, 0, 0, 5, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 2, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 3, 0,
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0
|
0, 0, 10, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
|
@ -51,27 +51,29 @@ dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
||||||
dcl_input vThreadID.xy
|
dcl_input vThreadID.xy
|
||||||
dcl_temps 4
|
dcl_temps 4
|
||||||
dcl_thread_group 8, 8, 1
|
dcl_thread_group 8, 8, 1
|
||||||
ubfe r0.x, l(2), l(10), CB1[1][0].x
|
ubfe r0.x, l(10), l(20), CB0[0][0].x
|
||||||
ubfe r0.y, l(10), l(20), CB0[0][0].x
|
iadd r0.x, r0.x, l(1)
|
||||||
imul null, r0.y, r0.x, r0.y
|
ubfe r0.y, l(2), l(10), CB1[1][0].x
|
||||||
ult r0.y, r0.y, vThreadID.x
|
imul null, r0.x, r0.y, r0.x
|
||||||
if_nz r0.y
|
uge r0.x, vThreadID.x, r0.x
|
||||||
|
if_nz r0.x
|
||||||
ret
|
ret
|
||||||
endif
|
endif
|
||||||
ushr r1.y, CB0[0][0].x, l(10)
|
ushr r0.y, CB0[0][0].x, l(10)
|
||||||
mov r1.x, CB0[0][0].x
|
mov r0.x, CB0[0][0].x
|
||||||
bfi r0.yz, l(0, 10, 10, 0), l(0, 3, 3, 0), r1.xxyx, l(0, 0, 0, 0)
|
bfi r0.xy, l(10, 10, 0, 0), l(3, 3, 0, 0), r0.xyxx, l(0, 0, 0, 0)
|
||||||
|
ubfe r0.zw, l(0, 0, 2, 2), l(0, 0, 10, 12), CB1[1][0].xxxx
|
||||||
ishl r1.x, vThreadID.x, l(3)
|
ishl r1.x, vThreadID.x, l(3)
|
||||||
mov r1.y, vThreadID.y
|
mov r1.y, vThreadID.y
|
||||||
imad r1.xy, r0.yzyy, r0.xxxx, r1.xyxx
|
imad r1.xy, r0.xyxx, r0.zwzz, r1.xyxx
|
||||||
and r0.y, CB1[1][0].x, l(1023)
|
and r0.x, CB1[1][0].x, l(1023)
|
||||||
imul null, r0.xz, r0.xxxx, l(80, 0, 16, 0)
|
imul null, r0.yz, r0.zzwz, l(0, 80, 16, 0)
|
||||||
udiv r2.xy, null, r1.xyxx, r0.xzxx
|
udiv r2.xy, null, r1.xyxx, r0.yzyy
|
||||||
imad r0.y, r2.y, r0.y, r2.x
|
|
||||||
imad r2.xy, -r2.xyxx, r0.xzxx, r1.xyxx
|
|
||||||
imul null, r0.z, r0.z, r0.x
|
|
||||||
imad r0.x, r2.y, r0.x, r2.x
|
imad r0.x, r2.y, r0.x, r2.x
|
||||||
imad r0.x, r0.y, r0.z, r0.x
|
imad r2.xy, -r2.xyxx, r0.yzyy, r1.xyxx
|
||||||
|
imul null, r0.z, r0.z, r0.y
|
||||||
|
imad r0.y, r2.y, r0.y, r2.x
|
||||||
|
imad r0.x, r0.x, r0.z, r0.y
|
||||||
ushr r0.x, r0.x, l(2)
|
ushr r0.x, r0.x, l(2)
|
||||||
mov r1.zw, l(0,0,0,0)
|
mov r1.zw, l(0,0,0,0)
|
||||||
ld r2.x, r1.xyww, T0[0].xyzw
|
ld r2.x, r1.xyww, T0[0].xyzw
|
||||||
|
@ -93,20 +95,20 @@ iadd r1.xyzw, r1.xyzw, l(7, 0, 0, 0)
|
||||||
ld r2.w, r1.xyzw, T0[0].yzwx
|
ld r2.w, r1.xyzw, T0[0].yzwx
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, r2.xyzw
|
store_uav_typed U0[0].xyzw, r0.yyyy, r2.xyzw
|
||||||
ret
|
ret
|
||||||
// Approximately 42 instruction slots used
|
// Approximately 44 instruction slots used
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const BYTE host_depth_store_1xmsaa_cs[] =
|
const BYTE host_depth_store_1xmsaa_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 201, 213,
|
68, 88, 66, 67, 40, 219,
|
||||||
112, 124, 150, 112, 103, 4,
|
237, 83, 207, 54, 217, 154,
|
||||||
67, 70, 247, 238, 236, 19,
|
183, 72, 124, 224, 242, 47,
|
||||||
131, 143, 1, 0, 0, 0,
|
153, 1, 1, 0, 0, 0,
|
||||||
100, 9, 0, 0, 5, 0,
|
196, 9, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
172, 2, 0, 0, 188, 2,
|
172, 2, 0, 0, 188, 2,
|
||||||
0, 0, 204, 2, 0, 0,
|
0, 0, 204, 2, 0, 0,
|
||||||
200, 8, 0, 0, 82, 68,
|
40, 9, 0, 0, 82, 68,
|
||||||
69, 70, 112, 2, 0, 0,
|
69, 70, 112, 2, 0, 0,
|
||||||
2, 0, 0, 0, 92, 1,
|
2, 0, 0, 0, 92, 1,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
|
@ -218,8 +220,8 @@ const BYTE host_depth_store_1xmsaa_cs[] =
|
||||||
71, 78, 8, 0, 0, 0,
|
71, 78, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
0, 0, 0, 0, 8, 0,
|
||||||
0, 0, 83, 72, 69, 88,
|
0, 0, 83, 72, 69, 88,
|
||||||
244, 5, 0, 0, 81, 0,
|
84, 6, 0, 0, 81, 0,
|
||||||
5, 0, 125, 1, 0, 0,
|
5, 0, 149, 1, 0, 0,
|
||||||
106, 8, 0, 1, 89, 0,
|
106, 8, 0, 1, 89, 0,
|
||||||
0, 7, 70, 142, 48, 0,
|
0, 7, 70, 142, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -247,54 +249,70 @@ const BYTE host_depth_store_1xmsaa_cs[] =
|
||||||
1, 0, 0, 0, 138, 0,
|
1, 0, 0, 0, 138, 0,
|
||||||
0, 11, 18, 0, 16, 0,
|
0, 11, 18, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 10, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 20, 0,
|
||||||
|
0, 0, 10, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 18, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 138, 0,
|
||||||
|
0, 11, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
1, 64, 0, 0, 10, 0,
|
1, 64, 0, 0, 10, 0,
|
||||||
0, 0, 10, 128, 48, 0,
|
0, 0, 10, 128, 48, 0,
|
||||||
1, 0, 0, 0, 1, 0,
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
138, 0, 0, 11, 34, 0,
|
38, 0, 0, 8, 0, 208,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 18, 0, 16, 0,
|
||||||
1, 64, 0, 0, 10, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
20, 0, 0, 0, 10, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 38, 0, 0, 8,
|
|
||||||
0, 208, 0, 0, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 79, 0,
|
|
||||||
0, 6, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
0, 0, 0, 0, 26, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 2, 0, 31, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
4, 3, 26, 0, 16, 0,
|
0, 0, 80, 0, 0, 6,
|
||||||
0, 0, 0, 0, 62, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 1, 21, 0, 0, 1,
|
0, 0, 10, 0, 2, 0,
|
||||||
85, 0, 0, 9, 34, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
0, 0, 31, 0, 4, 3,
|
||||||
10, 128, 48, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 62, 0, 0, 1,
|
||||||
|
21, 0, 0, 1, 85, 0,
|
||||||
|
0, 9, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 1, 64, 0, 0,
|
||||||
0, 0, 10, 0, 0, 0,
|
10, 0, 0, 0, 54, 0,
|
||||||
54, 0, 0, 7, 18, 0,
|
0, 7, 18, 0, 16, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
0, 0, 0, 0, 10, 128,
|
||||||
10, 128, 48, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 140, 0,
|
|
||||||
0, 20, 98, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 140, 0, 0, 20,
|
||||||
|
50, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
10, 0, 0, 0, 10, 0,
|
10, 0, 0, 0, 10, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
2, 64, 0, 0, 0, 0,
|
0, 0, 0, 0, 2, 64,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 6, 1, 16, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 2, 64,
|
70, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 138, 0,
|
||||||
|
0, 17, 194, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 0, 0, 12, 0,
|
||||||
|
0, 0, 6, 128, 48, 0,
|
||||||
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
41, 0, 0, 6, 18, 0,
|
41, 0, 0, 6, 18, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
|
@ -304,59 +322,59 @@ const BYTE host_depth_store_1xmsaa_cs[] =
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
26, 0, 2, 0, 35, 0,
|
26, 0, 2, 0, 35, 0,
|
||||||
0, 9, 50, 0, 16, 0,
|
0, 9, 50, 0, 16, 0,
|
||||||
1, 0, 0, 0, 150, 5,
|
1, 0, 0, 0, 70, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 0, 16, 0, 0, 0,
|
230, 10, 16, 0, 0, 0,
|
||||||
0, 0, 70, 0, 16, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
1, 0, 0, 0, 1, 0,
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 9, 34, 0, 16, 0,
|
0, 9, 18, 0, 16, 0,
|
||||||
0, 0, 0, 0, 10, 128,
|
0, 0, 0, 0, 10, 128,
|
||||||
48, 0, 1, 0, 0, 0,
|
48, 0, 1, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
255, 3, 0, 0, 38, 0,
|
255, 3, 0, 0, 38, 0,
|
||||||
0, 11, 0, 208, 0, 0,
|
0, 11, 0, 208, 0, 0,
|
||||||
82, 0, 16, 0, 0, 0,
|
98, 0, 16, 0, 0, 0,
|
||||||
0, 0, 6, 0, 16, 0,
|
0, 0, 166, 11, 16, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
0, 0, 0, 0, 2, 64,
|
||||||
0, 0, 80, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 16, 0,
|
80, 0, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
78, 0, 0, 8, 50, 0,
|
78, 0, 0, 8, 50, 0,
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
0, 208, 0, 0, 70, 0,
|
0, 208, 0, 0, 70, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
134, 0, 16, 0, 0, 0,
|
150, 5, 16, 0, 0, 0,
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
34, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 35, 0, 0, 10,
|
|
||||||
50, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 70, 0, 16, 128,
|
|
||||||
65, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 134, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
38, 0, 0, 8, 0, 208,
|
|
||||||
0, 0, 66, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
0, 0, 35, 0, 0, 9,
|
||||||
18, 0, 16, 0, 0, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 26, 0, 16, 0,
|
0, 0, 26, 0, 16, 0,
|
||||||
2, 0, 0, 0, 10, 0,
|
2, 0, 0, 0, 10, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 2, 0,
|
10, 0, 16, 0, 2, 0,
|
||||||
0, 0, 35, 0, 0, 9,
|
0, 0, 35, 0, 0, 10,
|
||||||
18, 0, 16, 0, 0, 0,
|
50, 0, 16, 0, 2, 0,
|
||||||
0, 0, 26, 0, 16, 0,
|
0, 0, 70, 0, 16, 128,
|
||||||
|
65, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 150, 5, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
38, 0, 0, 8, 0, 208,
|
||||||
|
0, 0, 66, 0, 16, 0,
|
||||||
0, 0, 0, 0, 42, 0,
|
0, 0, 0, 0, 42, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
34, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
0, 0, 85, 0, 0, 7,
|
0, 0, 85, 0, 0, 7,
|
||||||
18, 0, 16, 0, 0, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 10, 0, 16, 0,
|
||||||
|
@ -474,10 +492,10 @@ const BYTE host_depth_store_1xmsaa_cs[] =
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
62, 0, 0, 1, 83, 84,
|
62, 0, 0, 1, 83, 84,
|
||||||
65, 84, 148, 0, 0, 0,
|
65, 84, 148, 0, 0, 0,
|
||||||
42, 0, 0, 0, 4, 0,
|
44, 0, 0, 0, 4, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 17, 0, 0, 0,
|
0, 0, 18, 0, 0, 0,
|
||||||
5, 0, 0, 0, 2, 0,
|
5, 0, 0, 0, 2, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
|
|
@ -51,76 +51,77 @@ dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
||||||
dcl_input vThreadID.xy
|
dcl_input vThreadID.xy
|
||||||
dcl_temps 5
|
dcl_temps 5
|
||||||
dcl_thread_group 8, 8, 1
|
dcl_thread_group 8, 8, 1
|
||||||
ubfe r0.x, l(2), l(10), CB1[1][0].x
|
ubfe r0.x, l(10), l(20), CB0[0][0].x
|
||||||
ubfe r0.y, l(10), l(20), CB0[0][0].x
|
iadd r0.x, r0.x, l(1)
|
||||||
imul null, r0.y, r0.x, r0.y
|
ubfe r0.y, l(2), l(10), CB1[1][0].x
|
||||||
ult r0.y, r0.y, vThreadID.x
|
imul null, r0.x, r0.y, r0.x
|
||||||
if_nz r0.y
|
uge r0.x, vThreadID.x, r0.x
|
||||||
|
if_nz r0.x
|
||||||
ret
|
ret
|
||||||
endif
|
endif
|
||||||
ushr r1.y, CB0[0][0].x, l(10)
|
ushr r0.y, CB0[0][0].x, l(10)
|
||||||
mov r1.x, CB0[0][0].x
|
mov r0.x, CB0[0][0].x
|
||||||
bfi r0.yz, l(0, 10, 10, 0), l(0, 3, 3, 0), r1.xxyx, l(0, 0, 0, 0)
|
bfi r0.xy, l(10, 10, 0, 0), l(3, 3, 0, 0), r0.xyxx, l(0, 0, 0, 0)
|
||||||
ishl r1.x, vThreadID.x, l(3)
|
ubfe r1.xyz, l(2, 2, 1, 0), l(10, 12, 14, 0), CB1[1][0].xxxx
|
||||||
ushr r1.y, vThreadID.y, l(1)
|
ishl r2.x, vThreadID.x, l(3)
|
||||||
imad r1.xy, r0.yzyy, r0.xxxx, r1.xyxx
|
ushr r2.y, vThreadID.y, l(1)
|
||||||
|
imad r0.xy, r0.xyxx, r1.xyxx, r2.xyxx
|
||||||
and r2.y, vThreadID.y, l(1)
|
and r2.y, vThreadID.y, l(1)
|
||||||
and r0.y, CB1[1][0].x, l(1023)
|
and r1.w, CB1[1][0].x, l(1023)
|
||||||
ishl r1.z, r1.y, l(1)
|
ishl r0.z, r0.y, l(1)
|
||||||
mov r2.x, l(0)
|
mov r2.x, l(0)
|
||||||
iadd r0.zw, r1.xxxz, r2.xxxy
|
iadd r2.xz, r0.xxzx, r2.xxyx
|
||||||
imul null, r2.xz, r0.xxxx, l(80, 0, 16, 0)
|
imul null, r1.xy, r1.xyxx, l(80, 16, 0, 0)
|
||||||
udiv r3.xy, null, r0.zwzz, r2.xzxx
|
udiv r3.xy, null, r2.xzxx, r1.xyxx
|
||||||
imad r0.x, r3.y, r0.y, r3.x
|
imad r0.z, r3.y, r1.w, r3.x
|
||||||
imad r0.yz, -r3.xxyx, r2.xxzx, r0.zzwz
|
imad r2.xz, -r3.xxyx, r1.xxyx, r2.xxzx
|
||||||
imul null, r0.w, r2.z, r2.x
|
imul null, r1.y, r1.y, r1.x
|
||||||
imad r0.y, r0.z, r2.x, r0.y
|
imad r1.x, r2.z, r1.x, r2.x
|
||||||
imad r0.x, r0.x, r0.w, r0.y
|
imad r0.z, r0.z, r1.y, r1.x
|
||||||
ushr r0.x, r0.x, l(2)
|
ushr r0.z, r0.z, l(2)
|
||||||
ubfe r0.y, l(1), l(12), CB1[1][0].x
|
movc r1.xy, r2.yyyy, l(0,3,0,0), l(1,0,0,0)
|
||||||
movc r0.zw, r2.yyyy, l(0,0,0,3), l(0,0,1,0)
|
movc r1.x, r1.z, r1.x, r1.y
|
||||||
movc r0.y, r0.y, r0.z, r0.w
|
mov r0.w, l(0)
|
||||||
mov r1.w, l(0)
|
ldms r2.x, r0.xyww, T0[0].xyzw, r1.x
|
||||||
ldms r2.x, r1.xyww, T0[0].xyzw, r0.y
|
iadd r3.xyzw, r0.xyxy, l(2, 0, 1, 0)
|
||||||
iadd r3.xyzw, r1.xyxy, l(2, 0, 1, 0)
|
|
||||||
mov r4.xy, r3.zwzz
|
mov r4.xy, r3.zwzz
|
||||||
mov r4.zw, l(0,0,0,0)
|
mov r4.zw, l(0,0,0,0)
|
||||||
ldms r2.y, r4.xyzw, T0[0].yxzw, r0.y
|
ldms r2.y, r4.xyzw, T0[0].yxzw, r1.x
|
||||||
mov r3.zw, l(0,0,0,0)
|
mov r3.zw, l(0,0,0,0)
|
||||||
ldms r2.z, r3.xyzw, T0[0].yzxw, r0.y
|
ldms r2.z, r3.xyzw, T0[0].yzxw, r1.x
|
||||||
iadd r3.xyzw, r1.xyxy, l(4, 0, 3, 0)
|
iadd r3.xyzw, r0.xyxy, l(4, 0, 3, 0)
|
||||||
mov r4.xy, r3.zwzz
|
mov r4.xy, r3.zwzz
|
||||||
mov r4.zw, l(0,0,0,0)
|
mov r4.zw, l(0,0,0,0)
|
||||||
ldms r2.w, r4.xyzw, T0[0].yzwx, r0.y
|
ldms r2.w, r4.xyzw, T0[0].yzwx, r1.x
|
||||||
store_uav_typed U0[0].xyzw, r0.xxxx, r2.xyzw
|
|
||||||
iadd r0.z, r0.x, l(1)
|
|
||||||
mov r3.zw, l(0,0,0,0)
|
|
||||||
ldms r2.x, r3.xyzw, T0[0].xyzw, r0.y
|
|
||||||
iadd r3.xyzw, r1.xyxy, l(6, 0, 5, 0)
|
|
||||||
mov r4.xy, r3.zwzz
|
|
||||||
mov r4.zw, l(0,0,0,0)
|
|
||||||
ldms r2.y, r4.xyzw, T0[0].yxzw, r0.y
|
|
||||||
mov r3.zw, l(0,0,0,0)
|
|
||||||
ldms r2.z, r3.xyzw, T0[0].yzxw, r0.y
|
|
||||||
iadd r1.xy, r1.xyxx, l(7, 0, 0, 0)
|
|
||||||
mov r1.zw, l(0,0,0,0)
|
|
||||||
ldms r2.w, r1.xyzw, T0[0].yzwx, r0.y
|
|
||||||
store_uav_typed U0[0].xyzw, r0.zzzz, r2.xyzw
|
store_uav_typed U0[0].xyzw, r0.zzzz, r2.xyzw
|
||||||
|
iadd r0.w, r0.z, l(1)
|
||||||
|
mov r3.zw, l(0,0,0,0)
|
||||||
|
ldms r2.x, r3.xyzw, T0[0].xyzw, r1.x
|
||||||
|
iadd r3.xyzw, r0.xyxy, l(6, 0, 5, 0)
|
||||||
|
mov r4.xy, r3.zwzz
|
||||||
|
mov r4.zw, l(0,0,0,0)
|
||||||
|
ldms r2.y, r4.xyzw, T0[0].yxzw, r1.x
|
||||||
|
mov r3.zw, l(0,0,0,0)
|
||||||
|
ldms r2.z, r3.xyzw, T0[0].yzxw, r1.x
|
||||||
|
iadd r3.xy, r0.xyxx, l(7, 0, 0, 0)
|
||||||
|
mov r3.zw, l(0,0,0,0)
|
||||||
|
ldms r2.w, r3.xyzw, T0[0].yzwx, r1.x
|
||||||
|
store_uav_typed U0[0].xyzw, r0.wwww, r2.xyzw
|
||||||
ret
|
ret
|
||||||
// Approximately 56 instruction slots used
|
// Approximately 57 instruction slots used
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const BYTE host_depth_store_2xmsaa_cs[] =
|
const BYTE host_depth_store_2xmsaa_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 15, 231,
|
68, 88, 66, 67, 238, 111,
|
||||||
223, 186, 190, 135, 229, 39,
|
30, 240, 147, 73, 122, 32,
|
||||||
211, 185, 26, 121, 39, 17,
|
177, 28, 116, 35, 239, 195,
|
||||||
25, 229, 1, 0, 0, 0,
|
44, 205, 1, 0, 0, 0,
|
||||||
52, 11, 0, 0, 5, 0,
|
104, 11, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
172, 2, 0, 0, 188, 2,
|
172, 2, 0, 0, 188, 2,
|
||||||
0, 0, 204, 2, 0, 0,
|
0, 0, 204, 2, 0, 0,
|
||||||
152, 10, 0, 0, 82, 68,
|
204, 10, 0, 0, 82, 68,
|
||||||
69, 70, 112, 2, 0, 0,
|
69, 70, 112, 2, 0, 0,
|
||||||
2, 0, 0, 0, 92, 1,
|
2, 0, 0, 0, 92, 1,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
|
@ -232,8 +233,8 @@ const BYTE host_depth_store_2xmsaa_cs[] =
|
||||||
71, 78, 8, 0, 0, 0,
|
71, 78, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
0, 0, 0, 0, 8, 0,
|
||||||
0, 0, 83, 72, 69, 88,
|
0, 0, 83, 72, 69, 88,
|
||||||
196, 7, 0, 0, 81, 0,
|
248, 7, 0, 0, 81, 0,
|
||||||
5, 0, 241, 1, 0, 0,
|
5, 0, 254, 1, 0, 0,
|
||||||
106, 8, 0, 1, 89, 0,
|
106, 8, 0, 1, 89, 0,
|
||||||
0, 7, 70, 142, 48, 0,
|
0, 7, 70, 142, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -261,324 +262,333 @@ const BYTE host_depth_store_2xmsaa_cs[] =
|
||||||
1, 0, 0, 0, 138, 0,
|
1, 0, 0, 0, 138, 0,
|
||||||
0, 11, 18, 0, 16, 0,
|
0, 11, 18, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 10, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 20, 0,
|
||||||
|
0, 0, 10, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 18, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 138, 0,
|
||||||
|
0, 11, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
1, 64, 0, 0, 10, 0,
|
1, 64, 0, 0, 10, 0,
|
||||||
0, 0, 10, 128, 48, 0,
|
0, 0, 10, 128, 48, 0,
|
||||||
1, 0, 0, 0, 1, 0,
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
138, 0, 0, 11, 34, 0,
|
38, 0, 0, 8, 0, 208,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 18, 0, 16, 0,
|
||||||
1, 64, 0, 0, 10, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
20, 0, 0, 0, 10, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 38, 0, 0, 8,
|
|
||||||
0, 208, 0, 0, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 79, 0,
|
|
||||||
0, 6, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
0, 0, 0, 0, 26, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 2, 0, 31, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
4, 3, 26, 0, 16, 0,
|
0, 0, 80, 0, 0, 6,
|
||||||
0, 0, 0, 0, 62, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 1, 21, 0, 0, 1,
|
0, 0, 10, 0, 2, 0,
|
||||||
85, 0, 0, 9, 34, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
0, 0, 31, 0, 4, 3,
|
||||||
10, 128, 48, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 62, 0, 0, 1,
|
||||||
|
21, 0, 0, 1, 85, 0,
|
||||||
|
0, 9, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 1, 64, 0, 0,
|
||||||
0, 0, 10, 0, 0, 0,
|
10, 0, 0, 0, 54, 0,
|
||||||
54, 0, 0, 7, 18, 0,
|
0, 7, 18, 0, 16, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
0, 0, 0, 0, 10, 128,
|
||||||
10, 128, 48, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 140, 0,
|
|
||||||
0, 20, 98, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 140, 0, 0, 20,
|
||||||
|
50, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
10, 0, 0, 0, 10, 0,
|
10, 0, 0, 0, 10, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
2, 64, 0, 0, 0, 0,
|
0, 0, 0, 0, 2, 64,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 6, 1, 16, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 138, 0,
|
||||||
|
0, 17, 114, 0, 16, 0,
|
||||||
1, 0, 0, 0, 2, 64,
|
1, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
2, 64, 0, 0, 10, 0,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
14, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 6, 128, 48, 0,
|
||||||
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
41, 0, 0, 6, 18, 0,
|
41, 0, 0, 6, 18, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
10, 0, 2, 0, 1, 64,
|
10, 0, 2, 0, 1, 64,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
85, 0, 0, 6, 34, 0,
|
85, 0, 0, 6, 34, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
26, 0, 2, 0, 1, 64,
|
26, 0, 2, 0, 1, 64,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
35, 0, 0, 9, 50, 0,
|
35, 0, 0, 9, 50, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
150, 5, 16, 0, 0, 0,
|
70, 0, 16, 0, 0, 0,
|
||||||
0, 0, 6, 0, 16, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
0, 0, 0, 0, 70, 0,
|
1, 0, 0, 0, 70, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
1, 0, 0, 6, 34, 0,
|
1, 0, 0, 6, 34, 0,
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
26, 0, 2, 0, 1, 64,
|
26, 0, 2, 0, 1, 64,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
1, 0, 0, 9, 34, 0,
|
1, 0, 0, 9, 130, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
10, 128, 48, 0, 1, 0,
|
10, 128, 48, 0, 1, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 255, 3, 0, 0,
|
0, 0, 255, 3, 0, 0,
|
||||||
41, 0, 0, 7, 66, 0,
|
41, 0, 0, 7, 66, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
26, 0, 16, 0, 1, 0,
|
26, 0, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
1, 0, 0, 0, 54, 0,
|
1, 0, 0, 0, 54, 0,
|
||||||
0, 5, 18, 0, 16, 0,
|
0, 5, 18, 0, 16, 0,
|
||||||
2, 0, 0, 0, 1, 64,
|
2, 0, 0, 0, 1, 64,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
30, 0, 0, 7, 194, 0,
|
30, 0, 0, 7, 82, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
6, 8, 16, 0, 1, 0,
|
6, 2, 16, 0, 0, 0,
|
||||||
0, 0, 6, 4, 16, 0,
|
0, 0, 6, 1, 16, 0,
|
||||||
2, 0, 0, 0, 38, 0,
|
2, 0, 0, 0, 38, 0,
|
||||||
0, 11, 0, 208, 0, 0,
|
0, 11, 0, 208, 0, 0,
|
||||||
82, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
78, 0, 0, 8, 50, 0,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
0, 208, 0, 0, 230, 10,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
134, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
3, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 35, 0, 0, 10,
|
|
||||||
98, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 6, 1, 16, 128,
|
|
||||||
65, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 6, 2, 16, 0,
|
|
||||||
2, 0, 0, 0, 166, 11,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
38, 0, 0, 8, 0, 208,
|
|
||||||
0, 0, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
34, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 58, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 85, 0, 0, 7,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
138, 0, 0, 11, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
12, 0, 0, 0, 10, 128,
|
|
||||||
48, 0, 1, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 55, 0, 0, 15,
|
|
||||||
194, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
2, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 55, 0, 0, 9,
|
|
||||||
34, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 54, 0, 0, 5,
|
|
||||||
130, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 46, 0,
|
|
||||||
0, 10, 18, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 15,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 126, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 70, 4, 16, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 5, 50, 0,
|
|
||||||
16, 0, 4, 0, 0, 0,
|
|
||||||
230, 10, 16, 0, 3, 0,
|
|
||||||
0, 0, 54, 0, 0, 8,
|
|
||||||
194, 0, 16, 0, 4, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 46, 0,
|
|
||||||
0, 10, 34, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 4, 0, 0, 0,
|
|
||||||
22, 126, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 54, 0, 0, 8,
|
|
||||||
194, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 46, 0,
|
|
||||||
0, 10, 66, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
150, 124, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 70, 4, 16, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 5, 50, 0,
|
|
||||||
16, 0, 4, 0, 0, 0,
|
|
||||||
230, 10, 16, 0, 3, 0,
|
|
||||||
0, 0, 54, 0, 0, 8,
|
|
||||||
194, 0, 16, 0, 4, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 46, 0,
|
|
||||||
0, 10, 130, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 4, 0, 0, 0,
|
|
||||||
150, 115, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 8,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 14, 16, 0,
|
|
||||||
2, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 66, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 1, 0,
|
|
||||||
0, 0, 54, 0, 0, 8,
|
|
||||||
194, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 46, 0,
|
|
||||||
0, 10, 18, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
70, 126, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 70, 4, 16, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 6, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 5, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 5, 50, 0,
|
|
||||||
16, 0, 4, 0, 0, 0,
|
|
||||||
230, 10, 16, 0, 3, 0,
|
|
||||||
0, 0, 54, 0, 0, 8,
|
|
||||||
194, 0, 16, 0, 4, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 46, 0,
|
|
||||||
0, 10, 34, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 4, 0, 0, 0,
|
|
||||||
22, 126, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 54, 0, 0, 8,
|
|
||||||
194, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 46, 0,
|
|
||||||
0, 10, 66, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
150, 124, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
50, 0, 16, 0, 1, 0,
|
50, 0, 16, 0, 1, 0,
|
||||||
0, 0, 70, 0, 16, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
1, 0, 0, 0, 2, 64,
|
1, 0, 0, 0, 2, 64,
|
||||||
0, 0, 7, 0, 0, 0,
|
0, 0, 80, 0, 0, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
78, 0, 0, 8, 50, 0,
|
||||||
54, 0, 0, 8, 194, 0,
|
16, 0, 3, 0, 0, 0,
|
||||||
|
0, 208, 0, 0, 134, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 58, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 35, 0, 0, 10,
|
||||||
|
82, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 6, 1, 16, 128,
|
||||||
|
65, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 6, 1, 16, 0,
|
||||||
|
1, 0, 0, 0, 6, 2,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
38, 0, 0, 8, 0, 208,
|
||||||
|
0, 0, 34, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
18, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 85, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
55, 0, 0, 15, 50, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
86, 5, 16, 0, 2, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
55, 0, 0, 9, 18, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
54, 0, 0, 5, 130, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 46, 0, 0, 10,
|
||||||
|
18, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 70, 15, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 126,
|
||||||
|
32, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
30, 0, 0, 10, 242, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
70, 4, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 54, 0,
|
||||||
|
0, 5, 50, 0, 16, 0,
|
||||||
|
4, 0, 0, 0, 230, 10,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
54, 0, 0, 8, 194, 0,
|
||||||
|
16, 0, 4, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 46, 0, 0, 10,
|
||||||
|
34, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
4, 0, 0, 0, 22, 126,
|
||||||
|
32, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
54, 0, 0, 8, 194, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 46, 0, 0, 10,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
3, 0, 0, 0, 150, 124,
|
||||||
|
32, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
30, 0, 0, 10, 242, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
70, 4, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 54, 0,
|
||||||
|
0, 5, 50, 0, 16, 0,
|
||||||
|
4, 0, 0, 0, 230, 10,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
54, 0, 0, 8, 194, 0,
|
||||||
|
16, 0, 4, 0, 0, 0,
|
||||||
2, 64, 0, 0, 0, 0,
|
2, 64, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 46, 0, 0, 10,
|
0, 0, 46, 0, 0, 10,
|
||||||
130, 0, 16, 0, 2, 0,
|
130, 0, 16, 0, 2, 0,
|
||||||
0, 0, 70, 14, 16, 0,
|
0, 0, 70, 14, 16, 0,
|
||||||
1, 0, 0, 0, 150, 115,
|
4, 0, 0, 0, 150, 115,
|
||||||
32, 0, 0, 0, 0, 0,
|
32, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 26, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
164, 0, 0, 8, 242, 224,
|
164, 0, 0, 8, 242, 224,
|
||||||
33, 0, 0, 0, 0, 0,
|
33, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 166, 10,
|
0, 0, 0, 0, 166, 10,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
70, 14, 16, 0, 2, 0,
|
70, 14, 16, 0, 2, 0,
|
||||||
0, 0, 62, 0, 0, 1,
|
0, 0, 30, 0, 0, 7,
|
||||||
83, 84, 65, 84, 148, 0,
|
130, 0, 16, 0, 0, 0,
|
||||||
0, 0, 56, 0, 0, 0,
|
0, 0, 42, 0, 16, 0,
|
||||||
5, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
54, 0, 0, 8, 194, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 46, 0, 0, 10,
|
||||||
|
18, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
3, 0, 0, 0, 70, 126,
|
||||||
|
32, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
30, 0, 0, 10, 242, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
70, 4, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
6, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 5, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 54, 0,
|
||||||
|
0, 5, 50, 0, 16, 0,
|
||||||
|
4, 0, 0, 0, 230, 10,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
54, 0, 0, 8, 194, 0,
|
||||||
|
16, 0, 4, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 46, 0, 0, 10,
|
||||||
|
34, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
4, 0, 0, 0, 22, 126,
|
||||||
|
32, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
54, 0, 0, 8, 194, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 46, 0, 0, 10,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
3, 0, 0, 0, 150, 124,
|
||||||
|
32, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
30, 0, 0, 10, 50, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
7, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 54, 0,
|
||||||
|
0, 8, 194, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
46, 0, 0, 10, 130, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
70, 14, 16, 0, 3, 0,
|
||||||
|
0, 0, 150, 115, 32, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 164, 0,
|
||||||
|
0, 8, 242, 224, 33, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 246, 15, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
62, 0, 0, 1, 83, 84,
|
||||||
|
65, 84, 148, 0, 0, 0,
|
||||||
|
57, 0, 0, 0, 5, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 17, 0, 0, 0,
|
||||||
|
7, 0, 0, 0, 2, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 7, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 8, 0, 0, 0,
|
8, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 13, 0,
|
||||||
13, 0, 0, 0, 2, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -589,5 +599,5 @@ const BYTE host_depth_store_2xmsaa_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 2, 0, 0, 0
|
2, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
|
@ -51,29 +51,31 @@ dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
||||||
dcl_input vThreadID.xy
|
dcl_input vThreadID.xy
|
||||||
dcl_temps 5
|
dcl_temps 5
|
||||||
dcl_thread_group 8, 8, 1
|
dcl_thread_group 8, 8, 1
|
||||||
ubfe r0.x, l(2), l(10), CB1[1][0].x
|
ushr r0.x, vThreadID.x, l(1)
|
||||||
ushr r0.y, vThreadID.x, l(1)
|
ubfe r0.y, l(10), l(20), CB0[0][0].x
|
||||||
ubfe r0.z, l(10), l(20), CB0[0][0].x
|
iadd r0.y, r0.y, l(1)
|
||||||
imul null, r0.z, r0.x, r0.z
|
ubfe r0.z, l(2), l(10), CB1[1][0].x
|
||||||
ult r0.y, r0.z, r0.y
|
imul null, r0.y, r0.z, r0.y
|
||||||
if_nz r0.y
|
uge r0.x, r0.x, r0.y
|
||||||
|
if_nz r0.x
|
||||||
ret
|
ret
|
||||||
endif
|
endif
|
||||||
ushr r1.y, CB0[0][0].x, l(10)
|
ushr r0.y, CB0[0][0].x, l(10)
|
||||||
mov r1.x, CB0[0][0].x
|
mov r0.x, CB0[0][0].x
|
||||||
bfi r0.yz, l(0, 10, 10, 0), l(0, 3, 3, 0), r1.xxyx, l(0, 0, 0, 0)
|
bfi r0.xy, l(10, 10, 0, 0), l(3, 3, 0, 0), r0.xyxx, l(0, 0, 0, 0)
|
||||||
|
ubfe r0.zw, l(0, 0, 2, 2), l(0, 0, 10, 12), CB1[1][0].xxxx
|
||||||
ishl r1.x, vThreadID.x, l(2)
|
ishl r1.x, vThreadID.x, l(2)
|
||||||
ushr r1.y, vThreadID.y, l(1)
|
ushr r1.y, vThreadID.y, l(1)
|
||||||
imad r1.xy, r0.yzyy, r0.xxxx, r1.xyxx
|
imad r1.xy, r0.xyxx, r0.zwzz, r1.xyxx
|
||||||
bfi r0.yz, l(0, 31, 31, 0), l(0, 1, 1, 0), r1.xxyx, vThreadID.xxyx
|
bfi r0.xy, l(31, 31, 0, 0), l(1, 1, 0, 0), r1.xyxx, vThreadID.xyxx
|
||||||
and r0.w, CB1[1][0].x, l(1023)
|
and r2.x, CB1[1][0].x, l(1023)
|
||||||
imul null, r2.xy, r0.xxxx, l(80, 16, 0, 0)
|
imul null, r0.zw, r0.zzzw, l(0, 0, 80, 16)
|
||||||
udiv r2.zw, null, r0.yyyz, r2.xxxy
|
udiv r2.yz, null, r0.xxyx, r0.zzwz
|
||||||
imad r0.x, r2.w, r0.w, r2.z
|
imad r2.x, r2.z, r2.x, r2.y
|
||||||
imad r0.yz, -r2.zzwz, r2.xxyx, r0.yyzy
|
imad r0.xy, -r2.yzyy, r0.zwzz, r0.xyxx
|
||||||
imul null, r0.w, r2.y, r2.x
|
imul null, r0.w, r0.w, r0.z
|
||||||
imad r0.y, r0.z, r2.x, r0.y
|
imad r0.x, r0.y, r0.z, r0.x
|
||||||
imad r0.x, r0.x, r0.w, r0.y
|
imad r0.x, r2.x, r0.w, r0.x
|
||||||
ushr r0.x, r0.x, l(2)
|
ushr r0.x, r0.x, l(2)
|
||||||
bfi r0.y, l(1), l(1), vThreadID.y, l(0)
|
bfi r0.y, l(1), l(1), vThreadID.y, l(0)
|
||||||
iadd r0.zw, r0.yyyx, l(0, 0, 1, 1)
|
iadd r0.zw, r0.yyyx, l(0, 0, 1, 1)
|
||||||
|
@ -95,20 +97,20 @@ ldms r2.z, r1.xyww, T0[0].yzxw, r0.y
|
||||||
ldms r2.w, r1.xyzw, T0[0].yzwx, r0.z
|
ldms r2.w, r1.xyzw, T0[0].yzwx, r0.z
|
||||||
store_uav_typed U0[0].xyzw, r0.wwww, r2.xyzw
|
store_uav_typed U0[0].xyzw, r0.wwww, r2.xyzw
|
||||||
ret
|
ret
|
||||||
// Approximately 44 instruction slots used
|
// Approximately 46 instruction slots used
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const BYTE host_depth_store_4xmsaa_cs[] =
|
const BYTE host_depth_store_4xmsaa_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 100, 194,
|
68, 88, 66, 67, 2, 59,
|
||||||
8, 49, 89, 51, 189, 50,
|
173, 180, 27, 122, 26, 189,
|
||||||
214, 126, 192, 98, 132, 90,
|
176, 122, 66, 167, 148, 57,
|
||||||
183, 36, 1, 0, 0, 0,
|
133, 176, 1, 0, 0, 0,
|
||||||
232, 9, 0, 0, 5, 0,
|
72, 10, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
172, 2, 0, 0, 188, 2,
|
172, 2, 0, 0, 188, 2,
|
||||||
0, 0, 204, 2, 0, 0,
|
0, 0, 204, 2, 0, 0,
|
||||||
76, 9, 0, 0, 82, 68,
|
172, 9, 0, 0, 82, 68,
|
||||||
69, 70, 112, 2, 0, 0,
|
69, 70, 112, 2, 0, 0,
|
||||||
2, 0, 0, 0, 92, 1,
|
2, 0, 0, 0, 92, 1,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
|
@ -220,8 +222,8 @@ const BYTE host_depth_store_4xmsaa_cs[] =
|
||||||
71, 78, 8, 0, 0, 0,
|
71, 78, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
0, 0, 0, 0, 8, 0,
|
||||||
0, 0, 83, 72, 69, 88,
|
0, 0, 83, 72, 69, 88,
|
||||||
120, 6, 0, 0, 81, 0,
|
216, 6, 0, 0, 81, 0,
|
||||||
5, 0, 158, 1, 0, 0,
|
5, 0, 182, 1, 0, 0,
|
||||||
106, 8, 0, 1, 89, 0,
|
106, 8, 0, 1, 89, 0,
|
||||||
0, 7, 70, 142, 48, 0,
|
0, 7, 70, 142, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -246,62 +248,78 @@ const BYTE host_depth_store_4xmsaa_cs[] =
|
||||||
0, 2, 5, 0, 0, 0,
|
0, 2, 5, 0, 0, 0,
|
||||||
155, 0, 0, 4, 8, 0,
|
155, 0, 0, 4, 8, 0,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 8, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 85, 0,
|
||||||
|
0, 6, 18, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
2, 0, 1, 64, 0, 0,
|
||||||
1, 0, 0, 0, 138, 0,
|
1, 0, 0, 0, 138, 0,
|
||||||
0, 11, 18, 0, 16, 0,
|
0, 11, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 10, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 20, 0,
|
||||||
|
0, 0, 10, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 34, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 138, 0,
|
||||||
|
0, 11, 66, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
1, 64, 0, 0, 10, 0,
|
1, 64, 0, 0, 10, 0,
|
||||||
0, 0, 10, 128, 48, 0,
|
0, 0, 10, 128, 48, 0,
|
||||||
1, 0, 0, 0, 1, 0,
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
85, 0, 0, 6, 34, 0,
|
38, 0, 0, 8, 0, 208,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 34, 0, 16, 0,
|
||||||
10, 0, 2, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
138, 0, 0, 11, 66, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 10, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
20, 0, 0, 0, 10, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 38, 0, 0, 8,
|
|
||||||
0, 208, 0, 0, 66, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 79, 0,
|
|
||||||
0, 7, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
0, 0, 0, 0, 42, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
26, 0, 16, 0, 0, 0,
|
26, 0, 16, 0, 0, 0,
|
||||||
0, 0, 31, 0, 4, 3,
|
0, 0, 80, 0, 0, 7,
|
||||||
26, 0, 16, 0, 0, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 62, 0, 0, 1,
|
0, 0, 10, 0, 16, 0,
|
||||||
21, 0, 0, 1, 85, 0,
|
0, 0, 0, 0, 26, 0,
|
||||||
0, 9, 34, 0, 16, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 10, 128,
|
31, 0, 4, 3, 10, 0,
|
||||||
48, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
|
62, 0, 0, 1, 21, 0,
|
||||||
|
0, 1, 85, 0, 0, 9,
|
||||||
|
34, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 128, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
10, 0, 0, 0, 54, 0,
|
|
||||||
0, 7, 18, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 10, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 140, 0, 0, 20,
|
1, 64, 0, 0, 10, 0,
|
||||||
98, 0, 16, 0, 0, 0,
|
0, 0, 54, 0, 0, 7,
|
||||||
0, 0, 2, 64, 0, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 10, 0,
|
0, 0, 10, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
140, 0, 0, 20, 50, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 10, 0,
|
||||||
0, 0, 10, 0, 0, 0,
|
0, 0, 10, 0, 0, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
3, 0, 0, 0, 3, 0,
|
3, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
6, 1, 16, 0, 1, 0,
|
0, 0, 0, 0, 70, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 138, 0, 0, 17,
|
||||||
|
194, 0, 16, 0, 0, 0,
|
||||||
0, 0, 2, 64, 0, 0,
|
0, 0, 2, 64, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 2, 64,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
6, 128, 48, 0, 1, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 41, 0,
|
0, 0, 0, 0, 41, 0,
|
||||||
0, 6, 18, 0, 16, 0,
|
0, 6, 18, 0, 16, 0,
|
||||||
1, 0, 0, 0, 10, 0,
|
1, 0, 0, 0, 10, 0,
|
||||||
|
@ -312,69 +330,69 @@ const BYTE host_depth_store_4xmsaa_cs[] =
|
||||||
2, 0, 1, 64, 0, 0,
|
2, 0, 1, 64, 0, 0,
|
||||||
1, 0, 0, 0, 35, 0,
|
1, 0, 0, 0, 35, 0,
|
||||||
0, 9, 50, 0, 16, 0,
|
0, 9, 50, 0, 16, 0,
|
||||||
1, 0, 0, 0, 150, 5,
|
1, 0, 0, 0, 70, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 0, 16, 0, 0, 0,
|
230, 10, 16, 0, 0, 0,
|
||||||
0, 0, 70, 0, 16, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
1, 0, 0, 0, 140, 0,
|
1, 0, 0, 0, 140, 0,
|
||||||
0, 16, 98, 0, 16, 0,
|
0, 16, 50, 0, 16, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 31, 0, 0, 0,
|
||||||
|
31, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
31, 0, 0, 0, 31, 0,
|
2, 64, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 6, 1, 16, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
1, 0, 0, 0, 6, 1,
|
1, 0, 0, 0, 70, 0,
|
||||||
2, 0, 1, 0, 0, 9,
|
2, 0, 1, 0, 0, 9,
|
||||||
130, 0, 16, 0, 0, 0,
|
18, 0, 16, 0, 2, 0,
|
||||||
0, 0, 10, 128, 48, 0,
|
0, 0, 10, 128, 48, 0,
|
||||||
1, 0, 0, 0, 1, 0,
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 64, 0, 0, 255, 3,
|
1, 64, 0, 0, 255, 3,
|
||||||
0, 0, 38, 0, 0, 11,
|
0, 0, 38, 0, 0, 11,
|
||||||
0, 208, 0, 0, 50, 0,
|
0, 208, 0, 0, 194, 0,
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 0, 16, 0, 0, 0,
|
166, 14, 16, 0, 0, 0,
|
||||||
0, 0, 2, 64, 0, 0,
|
0, 0, 2, 64, 0, 0,
|
||||||
80, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 78, 0,
|
0, 0, 80, 0, 0, 0,
|
||||||
0, 8, 194, 0, 16, 0,
|
16, 0, 0, 0, 78, 0,
|
||||||
|
0, 8, 98, 0, 16, 0,
|
||||||
2, 0, 0, 0, 0, 208,
|
2, 0, 0, 0, 0, 208,
|
||||||
0, 0, 86, 9, 16, 0,
|
0, 0, 6, 1, 16, 0,
|
||||||
0, 0, 0, 0, 6, 4,
|
0, 0, 0, 0, 166, 11,
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
35, 0, 0, 9, 18, 0,
|
35, 0, 0, 9, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
35, 0, 0, 10, 98, 0,
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
35, 0, 0, 10, 50, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
166, 11, 16, 128, 65, 0,
|
150, 5, 16, 128, 65, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
6, 1, 16, 0, 2, 0,
|
230, 10, 16, 0, 0, 0,
|
||||||
0, 0, 86, 6, 16, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
0, 0, 0, 0, 38, 0,
|
0, 0, 0, 0, 38, 0,
|
||||||
0, 8, 0, 208, 0, 0,
|
0, 8, 0, 208, 0, 0,
|
||||||
130, 0, 16, 0, 0, 0,
|
130, 0, 16, 0, 0, 0,
|
||||||
0, 0, 26, 0, 16, 0,
|
0, 0, 58, 0, 16, 0,
|
||||||
2, 0, 0, 0, 10, 0,
|
0, 0, 0, 0, 42, 0,
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
35, 0, 0, 9, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
35, 0, 0, 9, 18, 0,
|
35, 0, 0, 9, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
35, 0, 0, 9, 18, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 2, 0,
|
||||||
0, 0, 58, 0, 16, 0,
|
0, 0, 58, 0, 16, 0,
|
||||||
0, 0, 0, 0, 26, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
85, 0, 0, 7, 18, 0,
|
85, 0, 0, 7, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
|
@ -498,10 +516,10 @@ const BYTE host_depth_store_4xmsaa_cs[] =
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 2, 0, 0, 0,
|
||||||
62, 0, 0, 1, 83, 84,
|
62, 0, 0, 1, 83, 84,
|
||||||
65, 84, 148, 0, 0, 0,
|
65, 84, 148, 0, 0, 0,
|
||||||
44, 0, 0, 0, 5, 0,
|
46, 0, 0, 0, 5, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 12, 0, 0, 0,
|
0, 0, 13, 0, 0, 0,
|
||||||
7, 0, 0, 0, 2, 0,
|
7, 0, 0, 0, 2, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,562 +0,0 @@
|
||||||
#if 0
|
|
||||||
//
|
|
||||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Buffer Definitions:
|
|
||||||
//
|
|
||||||
// cbuffer XeResolveConstants
|
|
||||||
// {
|
|
||||||
//
|
|
||||||
// uint2 xe_resolve_clear_value; // Offset: 0 Size: 8
|
|
||||||
// uint xe_resolve_edram_info; // Offset: 8 Size: 4
|
|
||||||
// uint xe_resolve_address_info; // Offset: 12 Size: 4
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Resource Bindings:
|
|
||||||
//
|
|
||||||
// Name Type Format Dim ID HLSL Bind Count
|
|
||||||
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
|
||||||
// xe_resolve_dest UAV uint4 buf U0 u0 1
|
|
||||||
// XeResolveConstants cbuffer NA NA CB0 cb0 1
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Input signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// no Input
|
|
||||||
//
|
|
||||||
// Output signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// no Output
|
|
||||||
cs_5_1
|
|
||||||
dcl_globalFlags refactoringAllowed
|
|
||||||
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
|
|
||||||
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
|
||||||
dcl_input vThreadID.xy
|
|
||||||
dcl_temps 3
|
|
||||||
dcl_thread_group 8, 8, 1
|
|
||||||
ubfe r0.xy, l(2, 11, 0, 0), l(10, 7, 0, 0), CB0[0][0].zwzz
|
|
||||||
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
|
|
||||||
and r0.w, r0.x, l(1)
|
|
||||||
ishl r0.y, r0.y, r0.w
|
|
||||||
uge r0.y, vThreadID.x, r0.y
|
|
||||||
if_nz r0.y
|
|
||||||
ret
|
|
||||||
endif
|
|
||||||
ishl r1.x, vThreadID.x, l(3)
|
|
||||||
ushr r2.y, CB0[0][0].w, l(5)
|
|
||||||
movc r0.xy, r0.xzxx, l(4,4,0,0), l(3,3,0,0)
|
|
||||||
mov r2.x, CB0[0][0].w
|
|
||||||
bfi r0.xy, l(5, 2, 0, 0), r0.xyxx, r2.xyxx, l(0, 0, 0, 0)
|
|
||||||
mov r1.y, vThreadID.y
|
|
||||||
iadd r0.xy, r0.xyxx, r1.xyxx
|
|
||||||
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
|
||||||
and r1.xy, CB0[0][0].zzzz, l(1023, 4096, 0, 0)
|
|
||||||
udiv r1.zw, null, r0.xxxy, l(0, 0, 80, 16)
|
|
||||||
imad r0.w, r1.w, r1.x, r1.z
|
|
||||||
iadd r0.z, r0.w, r0.z
|
|
||||||
imad r0.xy, -r1.zwzz, l(80, 16, 0, 0), r0.xyxx
|
|
||||||
if_nz r1.y
|
|
||||||
uge r0.w, r0.x, l(40)
|
|
||||||
movc r0.w, r0.w, l(-40), l(40)
|
|
||||||
iadd r0.x, r0.w, r0.x
|
|
||||||
endif
|
|
||||||
imad r0.x, r0.y, l(80), r0.x
|
|
||||||
imad r0.x, r0.z, l(1280), r0.x
|
|
||||||
imul null, r0.x, r0.x, l(9)
|
|
||||||
ushr r0.x, r0.x, l(2)
|
|
||||||
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xxxx
|
|
||||||
iadd r0.y, r0.x, l(1)
|
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xxxx
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(2, 3, 4, 5)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xxxx
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(6, 7, 8, 9)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xxxx
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(10, 11, 12, 13)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xxxx
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(14, 15, 16, 17)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xxxx
|
|
||||||
ret
|
|
||||||
// Approximately 54 instruction slots used
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const BYTE resolve_clear_32bpp_3xres_cs[] =
|
|
||||||
{
|
|
||||||
68, 88, 66, 67, 51, 137,
|
|
||||||
123, 106, 36, 61, 194, 60,
|
|
||||||
107, 228, 69, 223, 155, 48,
|
|
||||||
117, 12, 1, 0, 0, 0,
|
|
||||||
184, 10, 0, 0, 5, 0,
|
|
||||||
0, 0, 52, 0, 0, 0,
|
|
||||||
64, 2, 0, 0, 80, 2,
|
|
||||||
0, 0, 96, 2, 0, 0,
|
|
||||||
28, 10, 0, 0, 82, 68,
|
|
||||||
69, 70, 4, 2, 0, 0,
|
|
||||||
1, 0, 0, 0, 176, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
60, 0, 0, 0, 1, 5,
|
|
||||||
83, 67, 0, 5, 4, 0,
|
|
||||||
220, 1, 0, 0, 19, 19,
|
|
||||||
68, 37, 60, 0, 0, 0,
|
|
||||||
24, 0, 0, 0, 40, 0,
|
|
||||||
0, 0, 40, 0, 0, 0,
|
|
||||||
36, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
140, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 156, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 120, 101, 95, 114,
|
|
||||||
101, 115, 111, 108, 118, 101,
|
|
||||||
95, 100, 101, 115, 116, 0,
|
|
||||||
88, 101, 82, 101, 115, 111,
|
|
||||||
108, 118, 101, 67, 111, 110,
|
|
||||||
115, 116, 97, 110, 116, 115,
|
|
||||||
0, 171, 156, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 200, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 64, 1, 0, 0,
|
|
||||||
0, 0, 0, 0, 8, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
96, 1, 0, 0, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
132, 1, 0, 0, 8, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 160, 1,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 196, 1,
|
|
||||||
0, 0, 12, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 160, 1, 0, 0,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 120, 101, 95, 114,
|
|
||||||
101, 115, 111, 108, 118, 101,
|
|
||||||
95, 99, 108, 101, 97, 114,
|
|
||||||
95, 118, 97, 108, 117, 101,
|
|
||||||
0, 117, 105, 110, 116, 50,
|
|
||||||
0, 171, 171, 171, 1, 0,
|
|
||||||
19, 0, 1, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
87, 1, 0, 0, 120, 101,
|
|
||||||
95, 114, 101, 115, 111, 108,
|
|
||||||
118, 101, 95, 101, 100, 114,
|
|
||||||
97, 109, 95, 105, 110, 102,
|
|
||||||
111, 0, 100, 119, 111, 114,
|
|
||||||
100, 0, 0, 0, 19, 0,
|
|
||||||
1, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 154, 1,
|
|
||||||
0, 0, 120, 101, 95, 114,
|
|
||||||
101, 115, 111, 108, 118, 101,
|
|
||||||
95, 97, 100, 100, 114, 101,
|
|
||||||
115, 115, 95, 105, 110, 102,
|
|
||||||
111, 0, 77, 105, 99, 114,
|
|
||||||
111, 115, 111, 102, 116, 32,
|
|
||||||
40, 82, 41, 32, 72, 76,
|
|
||||||
83, 76, 32, 83, 104, 97,
|
|
||||||
100, 101, 114, 32, 67, 111,
|
|
||||||
109, 112, 105, 108, 101, 114,
|
|
||||||
32, 49, 48, 46, 49, 0,
|
|
||||||
73, 83, 71, 78, 8, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 79, 83,
|
|
||||||
71, 78, 8, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 8, 0,
|
|
||||||
0, 0, 83, 72, 69, 88,
|
|
||||||
180, 7, 0, 0, 81, 0,
|
|
||||||
5, 0, 237, 1, 0, 0,
|
|
||||||
106, 8, 0, 1, 89, 0,
|
|
||||||
0, 7, 70, 142, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 156, 8, 0, 7,
|
|
||||||
70, 238, 49, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 68, 68,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
95, 0, 0, 2, 50, 0,
|
|
||||||
2, 0, 104, 0, 0, 2,
|
|
||||||
3, 0, 0, 0, 155, 0,
|
|
||||||
0, 4, 8, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 138, 0, 0, 17,
|
|
||||||
50, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
2, 0, 0, 0, 11, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 10, 0, 0, 0,
|
|
||||||
7, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
230, 138, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 80, 0,
|
|
||||||
0, 10, 82, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 7,
|
|
||||||
130, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
41, 0, 0, 7, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 80, 0,
|
|
||||||
0, 6, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
2, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 31, 0,
|
|
||||||
4, 3, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 21, 0, 0, 1,
|
|
||||||
41, 0, 0, 6, 18, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 2, 0, 1, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
85, 0, 0, 9, 34, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
55, 0, 0, 15, 50, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
134, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
4, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 140, 0,
|
|
||||||
0, 17, 50, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
70, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 4, 34, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 2, 0, 30, 0,
|
|
||||||
0, 7, 50, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 138, 0, 0, 11,
|
|
||||||
66, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
12, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 13, 0, 0, 0,
|
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 12, 50, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 166, 138,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
255, 3, 0, 0, 0, 16,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 78, 0,
|
|
||||||
0, 11, 194, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 0, 208,
|
|
||||||
0, 0, 6, 4, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 80, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
35, 0, 0, 9, 130, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 66, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 35, 0,
|
|
||||||
0, 13, 50, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 230, 10,
|
|
||||||
16, 128, 65, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
70, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 31, 0, 4, 3,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 80, 0, 0, 7,
|
|
||||||
130, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 40, 0, 0, 0,
|
|
||||||
55, 0, 0, 9, 130, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
216, 255, 255, 255, 1, 64,
|
|
||||||
0, 0, 40, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 21, 0,
|
|
||||||
0, 1, 35, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 0, 5, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 38, 0, 0, 8,
|
|
||||||
0, 208, 0, 0, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
9, 0, 0, 0, 85, 0,
|
|
||||||
0, 7, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
0, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
166, 10, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 10, 242, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 6, 0,
|
|
||||||
0, 0, 7, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 9, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 86, 5,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
246, 15, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 10, 242, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
10, 0, 0, 0, 11, 0,
|
|
||||||
0, 0, 12, 0, 0, 0,
|
|
||||||
13, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 166, 10,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 246, 15, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 14, 0, 0, 0,
|
|
||||||
15, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 17, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
166, 10, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 83, 84, 65, 84,
|
|
||||||
148, 0, 0, 0, 54, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
15, 0, 0, 0, 8, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 18, 0,
|
|
||||||
0, 0
|
|
||||||
};
|
|
|
@ -14,6 +14,13 @@
|
||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
|
// cbuffer XeResolveResolutionScaleConstant
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// uint xe_resolve_resolution_scale; // Offset: 0 Size: 4
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
//
|
//
|
||||||
// Resource Bindings:
|
// Resource Bindings:
|
||||||
//
|
//
|
||||||
|
@ -21,6 +28,7 @@
|
||||||
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||||
// xe_resolve_dest UAV uint4 buf U0 u0 1
|
// xe_resolve_dest UAV uint4 buf U0 u0 1
|
||||||
// XeResolveConstants cbuffer NA NA CB0 cb0 1
|
// XeResolveConstants cbuffer NA NA CB0 cb0 1
|
||||||
|
// XeResolveResolutionScaleConstant cbuffer NA NA CB1 cb1 1
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
@ -38,6 +46,7 @@
|
||||||
cs_5_1
|
cs_5_1
|
||||||
dcl_globalFlags refactoringAllowed
|
dcl_globalFlags refactoringAllowed
|
||||||
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
|
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
|
||||||
|
dcl_constantbuffer CB1[1:1][1], immediateIndexed, space=0
|
||||||
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
||||||
dcl_input vThreadID.xy
|
dcl_input vThreadID.xy
|
||||||
dcl_temps 3
|
dcl_temps 3
|
||||||
|
@ -45,6 +54,8 @@ dcl_thread_group 8, 8, 1
|
||||||
ubfe r0.xy, l(2, 11, 0, 0), l(10, 7, 0, 0), CB0[0][0].zwzz
|
ubfe r0.xy, l(2, 11, 0, 0), l(10, 7, 0, 0), CB0[0][0].zwzz
|
||||||
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
|
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
|
||||||
and r0.w, r0.x, l(1)
|
and r0.w, r0.x, l(1)
|
||||||
|
and r1.x, CB1[1][0].x, l(3)
|
||||||
|
imul null, r0.y, r0.y, r1.x
|
||||||
ishl r0.y, r0.y, r0.w
|
ishl r0.y, r0.y, r0.w
|
||||||
uge r0.y, vThreadID.x, r0.y
|
uge r0.y, vThreadID.x, r0.y
|
||||||
if_nz r0.y
|
if_nz r0.y
|
||||||
|
@ -52,100 +63,119 @@ if_nz r0.y
|
||||||
endif
|
endif
|
||||||
ishl r1.x, vThreadID.x, l(3)
|
ishl r1.x, vThreadID.x, l(3)
|
||||||
ushr r2.y, CB0[0][0].w, l(5)
|
ushr r2.y, CB0[0][0].w, l(5)
|
||||||
movc r0.xy, r0.xzxx, l(4,4,0,0), l(3,3,0,0)
|
|
||||||
mov r2.x, CB0[0][0].w
|
mov r2.x, CB0[0][0].w
|
||||||
bfi r0.xy, l(5, 2, 0, 0), r0.xyxx, r2.xyxx, l(0, 0, 0, 0)
|
and r0.yw, r2.xxxy, l(0, 31, 0, 3)
|
||||||
|
ushr r2.y, CB1[1][0].x, l(2)
|
||||||
|
mov r2.x, CB1[1][0].x
|
||||||
|
and r1.zw, r2.xxxy, l(0, 0, 3, 3)
|
||||||
|
imul null, r0.yw, r0.yyyw, r1.zzzw
|
||||||
|
movc r0.xz, r0.xxzx, l(4,0,4,0), l(3,0,3,0)
|
||||||
|
ishl r0.xy, r0.ywyy, r0.xzxx
|
||||||
mov r1.y, vThreadID.y
|
mov r1.y, vThreadID.y
|
||||||
iadd r0.xy, r0.xyxx, r1.xyxx
|
iadd r0.xy, r0.xyxx, r1.xyxx
|
||||||
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
||||||
and r1.xy, CB0[0][0].zzzz, l(1023, 4096, 0, 0)
|
and r1.xy, CB0[0][0].zzzz, l(1023, 4096, 0, 0)
|
||||||
udiv r1.zw, null, r0.xxxy, l(0, 0, 80, 16)
|
imul null, r1.zw, r1.zzzw, l(0, 0, 80, 16)
|
||||||
imad r0.w, r1.w, r1.x, r1.z
|
udiv r2.xy, null, r0.xyxx, r1.zwzz
|
||||||
|
imad r0.w, r2.y, r1.x, r2.x
|
||||||
iadd r0.z, r0.w, r0.z
|
iadd r0.z, r0.w, r0.z
|
||||||
imad r0.xy, -r1.zwzz, l(80, 16, 0, 0), r0.xyxx
|
imad r0.xy, -r2.xyxx, r1.zwzz, r0.xyxx
|
||||||
if_nz r1.y
|
if_nz r1.y
|
||||||
uge r0.w, r0.x, l(40)
|
ushr r0.w, r1.z, l(1)
|
||||||
movc r0.w, r0.w, l(-40), l(40)
|
uge r1.x, r0.x, r0.w
|
||||||
|
ineg r1.y, r0.w
|
||||||
|
movc r0.w, r1.x, r1.y, r0.w
|
||||||
iadd r0.x, r0.w, r0.x
|
iadd r0.x, r0.w, r0.x
|
||||||
endif
|
endif
|
||||||
imad r0.x, r0.y, l(80), r0.x
|
imul null, r0.w, r1.w, r1.z
|
||||||
imad r0.x, r0.z, l(1280), r0.x
|
imad r0.x, r0.y, r1.z, r0.x
|
||||||
|
imad r0.x, r0.z, r0.w, r0.x
|
||||||
|
ushr r0.x, r0.x, l(2)
|
||||||
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xxxx
|
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xxxx
|
||||||
iadd r0.yzw, r0.xxxx, l(0, 1, 3, 7)
|
iadd r0.y, r0.x, l(1)
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xxxx
|
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xxxx
|
||||||
iadd r1.xyzw, r0.xxxx, l(2, 4, 5, 6)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r0.zzzz, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xxxx
|
|
||||||
store_uav_typed U0[0].xyzw, r0.wwww, CB0[0][0].xxxx
|
|
||||||
ret
|
ret
|
||||||
// Approximately 39 instruction slots used
|
// Approximately 44 instruction slots used
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const BYTE resolve_clear_32bpp_2xres_cs[] =
|
const BYTE resolve_clear_32bpp_scaled_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 140, 19,
|
68, 88, 66, 67, 151, 173,
|
||||||
54, 17, 139, 47, 113, 249,
|
156, 244, 183, 241, 226, 31,
|
||||||
181, 109, 144, 226, 191, 108,
|
214, 214, 54, 114, 10, 217,
|
||||||
237, 69, 1, 0, 0, 0,
|
153, 194, 1, 0, 0, 0,
|
||||||
128, 8, 0, 0, 5, 0,
|
104, 9, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
64, 2, 0, 0, 80, 2,
|
228, 2, 0, 0, 244, 2,
|
||||||
0, 0, 96, 2, 0, 0,
|
0, 0, 4, 3, 0, 0,
|
||||||
228, 7, 0, 0, 82, 68,
|
204, 8, 0, 0, 82, 68,
|
||||||
69, 70, 4, 2, 0, 0,
|
69, 70, 168, 2, 0, 0,
|
||||||
1, 0, 0, 0, 176, 0,
|
2, 0, 0, 0, 248, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
60, 0, 0, 0, 1, 5,
|
60, 0, 0, 0, 1, 5,
|
||||||
83, 67, 0, 5, 4, 0,
|
83, 67, 0, 5, 4, 0,
|
||||||
220, 1, 0, 0, 19, 19,
|
128, 2, 0, 0, 19, 19,
|
||||||
68, 37, 60, 0, 0, 0,
|
68, 37, 60, 0, 0, 0,
|
||||||
24, 0, 0, 0, 40, 0,
|
24, 0, 0, 0, 40, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
36, 0, 0, 0, 12, 0,
|
36, 0, 0, 0, 12, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
140, 0, 0, 0, 4, 0,
|
180, 0, 0, 0, 4, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
1, 0, 0, 0, 255, 255,
|
1, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 12, 0,
|
1, 0, 0, 0, 12, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 156, 0,
|
0, 0, 0, 0, 196, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 0,
|
0, 0, 0, 0, 1, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 120, 101, 95, 114,
|
0, 0, 215, 0, 0, 0,
|
||||||
101, 115, 111, 108, 118, 101,
|
0, 0, 0, 0, 0, 0,
|
||||||
95, 100, 101, 115, 116, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
88, 101, 82, 101, 115, 111,
|
0, 0, 0, 0, 1, 0,
|
||||||
108, 118, 101, 67, 111, 110,
|
0, 0, 1, 0, 0, 0,
|
||||||
115, 116, 97, 110, 116, 115,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 171, 156, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
3, 0, 0, 0, 200, 0,
|
120, 101, 95, 114, 101, 115,
|
||||||
|
111, 108, 118, 101, 95, 100,
|
||||||
|
101, 115, 116, 0, 88, 101,
|
||||||
|
82, 101, 115, 111, 108, 118,
|
||||||
|
101, 67, 111, 110, 115, 116,
|
||||||
|
97, 110, 116, 115, 0, 88,
|
||||||
|
101, 82, 101, 115, 111, 108,
|
||||||
|
118, 101, 82, 101, 115, 111,
|
||||||
|
108, 117, 116, 105, 111, 110,
|
||||||
|
83, 99, 97, 108, 101, 67,
|
||||||
|
111, 110, 115, 116, 97, 110,
|
||||||
|
116, 0, 196, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 40, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 64, 1, 0, 0,
|
0, 0, 215, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 60, 2,
|
||||||
|
0, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 160, 1, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
0, 0, 0, 0, 8, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
96, 1, 0, 0, 0, 0,
|
192, 1, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
132, 1, 0, 0, 8, 0,
|
228, 1, 0, 0, 8, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
2, 0, 0, 0, 160, 1,
|
2, 0, 0, 0, 0, 2,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 196, 1,
|
0, 0, 0, 0, 36, 2,
|
||||||
0, 0, 12, 0, 0, 0,
|
0, 0, 12, 0, 0, 0,
|
||||||
4, 0, 0, 0, 2, 0,
|
4, 0, 0, 0, 2, 0,
|
||||||
0, 0, 160, 1, 0, 0,
|
0, 0, 0, 2, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
|
@ -160,7 +190,7 @@ const BYTE resolve_clear_32bpp_2xres_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
87, 1, 0, 0, 120, 101,
|
183, 1, 0, 0, 120, 101,
|
||||||
95, 114, 101, 115, 111, 108,
|
95, 114, 101, 115, 111, 108,
|
||||||
118, 101, 95, 101, 100, 114,
|
118, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 105, 110, 102,
|
97, 109, 95, 105, 110, 102,
|
||||||
|
@ -170,30 +200,46 @@ const BYTE resolve_clear_32bpp_2xres_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 154, 1,
|
0, 0, 0, 0, 250, 1,
|
||||||
0, 0, 120, 101, 95, 114,
|
0, 0, 120, 101, 95, 114,
|
||||||
101, 115, 111, 108, 118, 101,
|
101, 115, 111, 108, 118, 101,
|
||||||
95, 97, 100, 100, 114, 101,
|
95, 97, 100, 100, 114, 101,
|
||||||
115, 115, 95, 105, 110, 102,
|
115, 115, 95, 105, 110, 102,
|
||||||
111, 0, 77, 105, 99, 114,
|
111, 0, 100, 2, 0, 0,
|
||||||
111, 115, 111, 102, 116, 32,
|
0, 0, 0, 0, 4, 0,
|
||||||
40, 82, 41, 32, 72, 76,
|
0, 0, 2, 0, 0, 0,
|
||||||
83, 76, 32, 83, 104, 97,
|
0, 2, 0, 0, 0, 0,
|
||||||
100, 101, 114, 32, 67, 111,
|
0, 0, 255, 255, 255, 255,
|
||||||
109, 112, 105, 108, 101, 114,
|
0, 0, 0, 0, 255, 255,
|
||||||
32, 49, 48, 46, 49, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
73, 83, 71, 78, 8, 0,
|
120, 101, 95, 114, 101, 115,
|
||||||
|
111, 108, 118, 101, 95, 114,
|
||||||
|
101, 115, 111, 108, 117, 116,
|
||||||
|
105, 111, 110, 95, 115, 99,
|
||||||
|
97, 108, 101, 0, 77, 105,
|
||||||
|
99, 114, 111, 115, 111, 102,
|
||||||
|
116, 32, 40, 82, 41, 32,
|
||||||
|
72, 76, 83, 76, 32, 83,
|
||||||
|
104, 97, 100, 101, 114, 32,
|
||||||
|
67, 111, 109, 112, 105, 108,
|
||||||
|
101, 114, 32, 49, 48, 46,
|
||||||
|
49, 0, 73, 83, 71, 78,
|
||||||
|
8, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
79, 83, 71, 78, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
8, 0, 0, 0, 79, 83,
|
8, 0, 0, 0, 83, 72,
|
||||||
71, 78, 8, 0, 0, 0,
|
69, 88, 192, 5, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
81, 0, 5, 0, 112, 1,
|
||||||
0, 0, 83, 72, 69, 88,
|
0, 0, 106, 8, 0, 1,
|
||||||
124, 5, 0, 0, 81, 0,
|
89, 0, 0, 7, 70, 142,
|
||||||
5, 0, 95, 1, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
106, 8, 0, 1, 89, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 89, 0,
|
||||||
0, 7, 70, 142, 48, 0,
|
0, 7, 70, 142, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 156, 8, 0, 7,
|
0, 0, 156, 8, 0, 7,
|
||||||
70, 238, 49, 0, 0, 0,
|
70, 238, 49, 0, 0, 0,
|
||||||
|
@ -228,54 +274,88 @@ const BYTE resolve_clear_32bpp_2xres_cs[] =
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 10, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
41, 0, 0, 7, 34, 0,
|
1, 0, 0, 9, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 80, 0,
|
|
||||||
0, 6, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
2, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 31, 0,
|
|
||||||
4, 3, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 21, 0, 0, 1,
|
|
||||||
41, 0, 0, 6, 18, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
10, 0, 2, 0, 1, 64,
|
10, 128, 48, 0, 1, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
85, 0, 0, 9, 34, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
55, 0, 0, 15, 50, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
134, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
4, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
38, 0, 0, 8, 0, 208,
|
||||||
|
0, 0, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
34, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
80, 0, 0, 6, 34, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 2, 0, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
31, 0, 4, 3, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
62, 0, 0, 1, 21, 0,
|
||||||
|
0, 1, 41, 0, 0, 6,
|
||||||
|
18, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 10, 0, 2, 0,
|
||||||
|
1, 64, 0, 0, 3, 0,
|
||||||
|
0, 0, 85, 0, 0, 9,
|
||||||
|
34, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 58, 128, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
54, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 140, 0,
|
1, 64, 0, 0, 5, 0,
|
||||||
0, 17, 50, 0, 16, 0,
|
0, 0, 54, 0, 0, 7,
|
||||||
0, 0, 0, 0, 2, 64,
|
18, 0, 16, 0, 2, 0,
|
||||||
0, 0, 5, 0, 0, 0,
|
0, 0, 58, 128, 48, 0,
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
70, 0, 16, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 70, 0, 16, 0,
|
1, 0, 0, 10, 162, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
6, 4, 16, 0, 2, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 31, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 85, 0,
|
||||||
|
0, 9, 34, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 54, 0,
|
||||||
|
0, 7, 18, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 10,
|
||||||
|
194, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 6, 4, 16, 0,
|
||||||
2, 0, 0, 0, 2, 64,
|
2, 0, 0, 0, 2, 64,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
38, 0, 0, 8, 0, 208,
|
||||||
|
0, 0, 162, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 86, 13,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
166, 14, 16, 0, 1, 0,
|
||||||
|
0, 0, 55, 0, 0, 15,
|
||||||
|
82, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 2, 16, 0,
|
||||||
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
50, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 214, 5, 16, 0,
|
||||||
|
0, 0, 0, 0, 134, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
54, 0, 0, 4, 34, 0,
|
54, 0, 0, 4, 34, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
26, 0, 2, 0, 30, 0,
|
26, 0, 2, 0, 30, 0,
|
||||||
|
@ -298,138 +378,122 @@ const BYTE resolve_clear_32bpp_2xres_cs[] =
|
||||||
0, 0, 2, 64, 0, 0,
|
0, 0, 2, 64, 0, 0,
|
||||||
255, 3, 0, 0, 0, 16,
|
255, 3, 0, 0, 0, 16,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 78, 0,
|
0, 0, 0, 0, 38, 0,
|
||||||
0, 11, 194, 0, 16, 0,
|
0, 11, 0, 208, 0, 0,
|
||||||
1, 0, 0, 0, 0, 208,
|
194, 0, 16, 0, 1, 0,
|
||||||
0, 0, 6, 4, 16, 0,
|
0, 0, 166, 14, 16, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
1, 0, 0, 0, 2, 64,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 80, 0,
|
0, 0, 0, 0, 80, 0,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
35, 0, 0, 9, 130, 0,
|
78, 0, 0, 8, 50, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
0, 208, 0, 0, 70, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
58, 0, 16, 0, 1, 0,
|
230, 10, 16, 0, 1, 0,
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 35, 0, 0, 9,
|
||||||
1, 0, 0, 0, 42, 0,
|
130, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 10, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
30, 0, 0, 7, 66, 0,
|
10, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 30, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
58, 0, 16, 0, 0, 0,
|
35, 0, 0, 10, 50, 0,
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 35, 0,
|
|
||||||
0, 13, 50, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 230, 10,
|
|
||||||
16, 128, 65, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
70, 0, 16, 128, 65, 0,
|
||||||
70, 0, 16, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
0, 0, 31, 0, 4, 3,
|
230, 10, 16, 0, 1, 0,
|
||||||
26, 0, 16, 0, 1, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 31, 0,
|
||||||
|
4, 3, 26, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 85, 0,
|
||||||
|
0, 7, 130, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 1, 0,
|
||||||
0, 0, 80, 0, 0, 7,
|
0, 0, 80, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
40, 0, 0, 5, 34, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 55, 0, 0, 9,
|
||||||
130, 0, 16, 0, 0, 0,
|
130, 0, 16, 0, 0, 0,
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 10, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
1, 0, 0, 0, 26, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
55, 0, 0, 9, 130, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
58, 0, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 30, 0, 0, 7,
|
||||||
216, 255, 255, 255, 1, 64,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 58, 0, 16, 0,
|
||||||
30, 0, 0, 7, 18, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
58, 0, 16, 0, 0, 0,
|
21, 0, 0, 1, 38, 0,
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 8, 0, 208, 0, 0,
|
||||||
0, 0, 0, 0, 21, 0,
|
130, 0, 16, 0, 0, 0,
|
||||||
0, 1, 35, 0, 0, 9,
|
0, 0, 58, 0, 16, 0,
|
||||||
18, 0, 16, 0, 0, 0,
|
1, 0, 0, 0, 42, 0,
|
||||||
0, 0, 26, 0, 16, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
35, 0, 0, 9, 18, 0,
|
||||||
0, 0, 80, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
26, 0, 16, 0, 0, 0,
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
0, 0, 42, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
1, 0, 0, 0, 10, 0,
|
||||||
0, 0, 0, 5, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 10, 226, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 0, 16, 0, 0, 0,
|
35, 0, 0, 9, 18, 0,
|
||||||
0, 0, 2, 64, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 0,
|
42, 0, 16, 0, 0, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 58, 0, 16, 0,
|
||||||
7, 0, 0, 0, 164, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
85, 0, 0, 7, 18, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 164, 0,
|
||||||
0, 10, 242, 224, 33, 0,
|
0, 10, 242, 224, 33, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
0, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
0, 0, 6, 0, 16, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 5, 0,
|
|
||||||
0, 0, 6, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
0, 0, 0, 0, 6, 128,
|
0, 0, 0, 0, 6, 128,
|
||||||
48, 0, 0, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 164, 0, 0, 10,
|
0, 0, 30, 0, 0, 7,
|
||||||
242, 224, 33, 0, 0, 0,
|
34, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 10, 0, 16, 0,
|
||||||
86, 5, 16, 0, 1, 0,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 6, 128, 48, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
164, 0, 0, 10, 242, 224,
|
||||||
33, 0, 0, 0, 0, 0,
|
33, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 166, 10,
|
0, 0, 0, 0, 86, 5,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 128, 48, 0, 0, 0,
|
6, 128, 48, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 164, 0,
|
0, 0, 0, 0, 62, 0,
|
||||||
0, 10, 242, 224, 33, 0,
|
0, 1, 83, 84, 65, 84,
|
||||||
|
148, 0, 0, 0, 44, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 246, 15, 16, 0,
|
16, 0, 0, 0, 13, 0,
|
||||||
1, 0, 0, 0, 6, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
246, 15, 16, 0, 0, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
62, 0, 0, 1, 83, 84,
|
|
||||||
65, 84, 148, 0, 0, 0,
|
|
||||||
39, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 11, 0, 0, 0,
|
|
||||||
7, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -437,16 +501,5 @@ const BYTE resolve_clear_32bpp_2xres_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 2, 0,
|
0, 0, 0, 0, 2, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
8, 0, 0, 0
|
|
||||||
};
|
};
|
|
@ -1,724 +0,0 @@
|
||||||
#if 0
|
|
||||||
//
|
|
||||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Buffer Definitions:
|
|
||||||
//
|
|
||||||
// cbuffer XeResolveConstants
|
|
||||||
// {
|
|
||||||
//
|
|
||||||
// uint2 xe_resolve_clear_value; // Offset: 0 Size: 8
|
|
||||||
// uint xe_resolve_edram_info; // Offset: 8 Size: 4
|
|
||||||
// uint xe_resolve_address_info; // Offset: 12 Size: 4
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Resource Bindings:
|
|
||||||
//
|
|
||||||
// Name Type Format Dim ID HLSL Bind Count
|
|
||||||
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
|
||||||
// xe_resolve_dest UAV uint4 buf U0 u0 1
|
|
||||||
// XeResolveConstants cbuffer NA NA CB0 cb0 1
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Input signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// no Input
|
|
||||||
//
|
|
||||||
// Output signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// no Output
|
|
||||||
cs_5_1
|
|
||||||
dcl_globalFlags refactoringAllowed
|
|
||||||
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
|
|
||||||
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
|
||||||
dcl_input vThreadID.xy
|
|
||||||
dcl_temps 3
|
|
||||||
dcl_thread_group 8, 8, 1
|
|
||||||
ubfe r0.xy, l(2, 11, 0, 0), l(10, 7, 0, 0), CB0[0][0].zwzz
|
|
||||||
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
|
|
||||||
and r0.w, r0.x, l(1)
|
|
||||||
ishl r0.y, r0.y, r0.w
|
|
||||||
uge r0.y, vThreadID.x, r0.y
|
|
||||||
if_nz r0.y
|
|
||||||
ret
|
|
||||||
endif
|
|
||||||
ishl r1.x, vThreadID.x, l(3)
|
|
||||||
ushr r2.y, CB0[0][0].w, l(5)
|
|
||||||
movc r0.xy, r0.xzxx, l(4,4,0,0), l(3,3,0,0)
|
|
||||||
mov r2.x, CB0[0][0].w
|
|
||||||
bfi r0.xy, l(5, 2, 0, 0), r0.xyxx, r2.xyxx, l(0, 0, 0, 0)
|
|
||||||
mov r1.y, vThreadID.y
|
|
||||||
iadd r0.xy, r0.xyxx, r1.xyxx
|
|
||||||
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
|
||||||
and r0.w, CB0[0][0].z, l(1023)
|
|
||||||
udiv r1.xy, null, r0.xyxx, l(80, 16, 0, 0)
|
|
||||||
ishl r1.z, r1.x, l(1)
|
|
||||||
imad r0.w, r1.y, r0.w, r1.z
|
|
||||||
iadd r0.z, r0.w, r0.z
|
|
||||||
imad r0.xy, -r1.xyxx, l(80, 16, 0, 0), r0.xyxx
|
|
||||||
imad r0.x, r0.y, l(80), r0.x
|
|
||||||
ishl r0.x, r0.x, l(1)
|
|
||||||
imad r0.x, r0.z, l(1280), r0.x
|
|
||||||
imul null, r0.x, r0.x, l(9)
|
|
||||||
ushr r0.x, r0.x, l(2)
|
|
||||||
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xyxy
|
|
||||||
iadd r0.yz, r0.xxxx, l(0, 1, 3, 0)
|
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
|
|
||||||
iadd r0.y, r0.x, l(2)
|
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r0.zzzz, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(4, 5, 6, 7)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(8, 9, 10, 11)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(12, 13, 14, 15)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(16, 17, 18, 19)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(20, 21, 22, 23)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(24, 25, 26, 27)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(28, 29, 30, 31)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r1.xyzw, r0.xxxx, l(32, 33, 34, 35)
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
ret
|
|
||||||
// Approximately 74 instruction slots used
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const BYTE resolve_clear_64bpp_3xres_cs[] =
|
|
||||||
{
|
|
||||||
68, 88, 66, 67, 171, 211,
|
|
||||||
186, 178, 117, 238, 37, 217,
|
|
||||||
139, 177, 150, 24, 232, 77,
|
|
||||||
219, 176, 1, 0, 0, 0,
|
|
||||||
16, 14, 0, 0, 5, 0,
|
|
||||||
0, 0, 52, 0, 0, 0,
|
|
||||||
64, 2, 0, 0, 80, 2,
|
|
||||||
0, 0, 96, 2, 0, 0,
|
|
||||||
116, 13, 0, 0, 82, 68,
|
|
||||||
69, 70, 4, 2, 0, 0,
|
|
||||||
1, 0, 0, 0, 176, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
60, 0, 0, 0, 1, 5,
|
|
||||||
83, 67, 0, 5, 4, 0,
|
|
||||||
220, 1, 0, 0, 19, 19,
|
|
||||||
68, 37, 60, 0, 0, 0,
|
|
||||||
24, 0, 0, 0, 40, 0,
|
|
||||||
0, 0, 40, 0, 0, 0,
|
|
||||||
36, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
140, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 156, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 120, 101, 95, 114,
|
|
||||||
101, 115, 111, 108, 118, 101,
|
|
||||||
95, 100, 101, 115, 116, 0,
|
|
||||||
88, 101, 82, 101, 115, 111,
|
|
||||||
108, 118, 101, 67, 111, 110,
|
|
||||||
115, 116, 97, 110, 116, 115,
|
|
||||||
0, 171, 156, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 200, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 64, 1, 0, 0,
|
|
||||||
0, 0, 0, 0, 8, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
96, 1, 0, 0, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
132, 1, 0, 0, 8, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 160, 1,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 196, 1,
|
|
||||||
0, 0, 12, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 160, 1, 0, 0,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 120, 101, 95, 114,
|
|
||||||
101, 115, 111, 108, 118, 101,
|
|
||||||
95, 99, 108, 101, 97, 114,
|
|
||||||
95, 118, 97, 108, 117, 101,
|
|
||||||
0, 117, 105, 110, 116, 50,
|
|
||||||
0, 171, 171, 171, 1, 0,
|
|
||||||
19, 0, 1, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
87, 1, 0, 0, 120, 101,
|
|
||||||
95, 114, 101, 115, 111, 108,
|
|
||||||
118, 101, 95, 101, 100, 114,
|
|
||||||
97, 109, 95, 105, 110, 102,
|
|
||||||
111, 0, 100, 119, 111, 114,
|
|
||||||
100, 0, 0, 0, 19, 0,
|
|
||||||
1, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 154, 1,
|
|
||||||
0, 0, 120, 101, 95, 114,
|
|
||||||
101, 115, 111, 108, 118, 101,
|
|
||||||
95, 97, 100, 100, 114, 101,
|
|
||||||
115, 115, 95, 105, 110, 102,
|
|
||||||
111, 0, 77, 105, 99, 114,
|
|
||||||
111, 115, 111, 102, 116, 32,
|
|
||||||
40, 82, 41, 32, 72, 76,
|
|
||||||
83, 76, 32, 83, 104, 97,
|
|
||||||
100, 101, 114, 32, 67, 111,
|
|
||||||
109, 112, 105, 108, 101, 114,
|
|
||||||
32, 49, 48, 46, 49, 0,
|
|
||||||
73, 83, 71, 78, 8, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 79, 83,
|
|
||||||
71, 78, 8, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 8, 0,
|
|
||||||
0, 0, 83, 72, 69, 88,
|
|
||||||
12, 11, 0, 0, 81, 0,
|
|
||||||
5, 0, 195, 2, 0, 0,
|
|
||||||
106, 8, 0, 1, 89, 0,
|
|
||||||
0, 7, 70, 142, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 156, 8, 0, 7,
|
|
||||||
70, 238, 49, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 68, 68,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
95, 0, 0, 2, 50, 0,
|
|
||||||
2, 0, 104, 0, 0, 2,
|
|
||||||
3, 0, 0, 0, 155, 0,
|
|
||||||
0, 4, 8, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 138, 0, 0, 17,
|
|
||||||
50, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
2, 0, 0, 0, 11, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 10, 0, 0, 0,
|
|
||||||
7, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
230, 138, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 80, 0,
|
|
||||||
0, 10, 82, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 7,
|
|
||||||
130, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
41, 0, 0, 7, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 80, 0,
|
|
||||||
0, 6, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
2, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 31, 0,
|
|
||||||
4, 3, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 21, 0, 0, 1,
|
|
||||||
41, 0, 0, 6, 18, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 2, 0, 1, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
85, 0, 0, 9, 34, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
55, 0, 0, 15, 50, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
134, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
4, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 140, 0,
|
|
||||||
0, 17, 50, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
70, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 4, 34, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 2, 0, 30, 0,
|
|
||||||
0, 7, 50, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 138, 0, 0, 11,
|
|
||||||
66, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
12, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 13, 0, 0, 0,
|
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 9, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
255, 3, 0, 0, 78, 0,
|
|
||||||
0, 11, 50, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 0, 208,
|
|
||||||
0, 0, 70, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
41, 0, 0, 7, 66, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 35, 0,
|
|
||||||
0, 9, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 66, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 58, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 13,
|
|
||||||
50, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 0, 16, 128,
|
|
||||||
65, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
80, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 70, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
35, 0, 0, 9, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
80, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
41, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 35, 0,
|
|
||||||
0, 9, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 0, 5,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 38, 0,
|
|
||||||
0, 8, 0, 208, 0, 0,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 9, 0, 0, 0,
|
|
||||||
85, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
2, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
98, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 86, 5,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 166, 10,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 10, 242, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 4, 0,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
6, 0, 0, 0, 7, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 86, 5,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
246, 15, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 10, 242, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
8, 0, 0, 0, 9, 0,
|
|
||||||
0, 0, 10, 0, 0, 0,
|
|
||||||
11, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 166, 10,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 246, 15, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 12, 0, 0, 0,
|
|
||||||
13, 0, 0, 0, 14, 0,
|
|
||||||
0, 0, 15, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
166, 10, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 10, 242, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 16, 0,
|
|
||||||
0, 0, 17, 0, 0, 0,
|
|
||||||
18, 0, 0, 0, 19, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 86, 5,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
246, 15, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 10, 242, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
20, 0, 0, 0, 21, 0,
|
|
||||||
0, 0, 22, 0, 0, 0,
|
|
||||||
23, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 166, 10,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 246, 15, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 24, 0, 0, 0,
|
|
||||||
25, 0, 0, 0, 26, 0,
|
|
||||||
0, 0, 27, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
166, 10, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 10, 242, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 28, 0,
|
|
||||||
0, 0, 29, 0, 0, 0,
|
|
||||||
30, 0, 0, 0, 31, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 86, 5,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
246, 15, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 10, 242, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
32, 0, 0, 0, 33, 0,
|
|
||||||
0, 0, 34, 0, 0, 0,
|
|
||||||
35, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 166, 10,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 246, 15, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 62, 0, 0, 1,
|
|
||||||
83, 84, 65, 84, 148, 0,
|
|
||||||
0, 0, 74, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 21, 0,
|
|
||||||
0, 0, 7, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 36, 0, 0, 0
|
|
||||||
};
|
|
|
@ -59,12 +59,11 @@ mov r1.y, vThreadID.y
|
||||||
iadd r0.xy, r0.xyxx, r1.xyxx
|
iadd r0.xy, r0.xyxx, r1.xyxx
|
||||||
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
||||||
and r0.w, CB0[0][0].z, l(1023)
|
and r0.w, CB0[0][0].z, l(1023)
|
||||||
udiv r1.xy, null, r0.xyxx, l(80, 16, 0, 0)
|
udiv r1.xy, null, r0.xyxx, l(40, 16, 0, 0)
|
||||||
ishl r1.z, r1.x, l(1)
|
imad r0.w, r1.y, r0.w, r1.x
|
||||||
imad r0.w, r1.y, r0.w, r1.z
|
|
||||||
iadd r0.z, r0.w, r0.z
|
iadd r0.z, r0.w, r0.z
|
||||||
imad r0.xy, -r1.xyxx, l(80, 16, 0, 0), r0.xyxx
|
imad r0.xy, -r1.xyxx, l(40, 16, 0, 0), r0.xyxx
|
||||||
imad r0.x, r0.y, l(80), r0.x
|
imad r0.x, r0.y, l(40), r0.x
|
||||||
ishl r0.x, r0.x, l(1)
|
ishl r0.x, r0.x, l(1)
|
||||||
imad r0.x, r0.z, l(1280), r0.x
|
imad r0.x, r0.z, l(1280), r0.x
|
||||||
ushr r0.x, r0.x, l(2)
|
ushr r0.x, r0.x, l(2)
|
||||||
|
@ -75,20 +74,20 @@ iadd r0.y, r0.x, l(2)
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
|
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
|
||||||
store_uav_typed U0[0].xyzw, r0.zzzz, CB0[0][0].xyxy
|
store_uav_typed U0[0].xyzw, r0.zzzz, CB0[0][0].xyxy
|
||||||
ret
|
ret
|
||||||
// Approximately 33 instruction slots used
|
// Approximately 32 instruction slots used
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const BYTE resolve_clear_64bpp_cs[] =
|
const BYTE resolve_clear_64bpp_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 192, 108,
|
68, 88, 66, 67, 11, 134,
|
||||||
206, 164, 182, 201, 78, 39,
|
106, 112, 85, 206, 144, 113,
|
||||||
174, 217, 116, 255, 187, 151,
|
121, 69, 237, 199, 49, 129,
|
||||||
218, 79, 1, 0, 0, 0,
|
4, 62, 1, 0, 0, 0,
|
||||||
176, 7, 0, 0, 5, 0,
|
148, 7, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
64, 2, 0, 0, 80, 2,
|
64, 2, 0, 0, 80, 2,
|
||||||
0, 0, 96, 2, 0, 0,
|
0, 0, 96, 2, 0, 0,
|
||||||
20, 7, 0, 0, 82, 68,
|
248, 6, 0, 0, 82, 68,
|
||||||
69, 70, 4, 2, 0, 0,
|
69, 70, 4, 2, 0, 0,
|
||||||
1, 0, 0, 0, 176, 0,
|
1, 0, 0, 0, 176, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
|
@ -182,8 +181,8 @@ const BYTE resolve_clear_64bpp_cs[] =
|
||||||
71, 78, 8, 0, 0, 0,
|
71, 78, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
0, 0, 0, 0, 8, 0,
|
||||||
0, 0, 83, 72, 69, 88,
|
0, 0, 83, 72, 69, 88,
|
||||||
172, 4, 0, 0, 81, 0,
|
144, 4, 0, 0, 81, 0,
|
||||||
5, 0, 43, 1, 0, 0,
|
5, 0, 36, 1, 0, 0,
|
||||||
106, 8, 0, 1, 89, 0,
|
106, 8, 0, 1, 89, 0,
|
||||||
0, 7, 70, 142, 48, 0,
|
0, 7, 70, 142, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -295,108 +294,104 @@ const BYTE resolve_clear_64bpp_cs[] =
|
||||||
1, 0, 0, 0, 0, 208,
|
1, 0, 0, 0, 0, 208,
|
||||||
0, 0, 70, 0, 16, 0,
|
0, 0, 70, 0, 16, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
0, 0, 0, 0, 2, 64,
|
||||||
0, 0, 80, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
41, 0, 0, 7, 66, 0,
|
35, 0, 0, 9, 130, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 1, 0,
|
26, 0, 16, 0, 1, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 58, 0, 16, 0,
|
||||||
1, 0, 0, 0, 35, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
0, 9, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
58, 0, 16, 0, 0, 0,
|
58, 0, 16, 0, 0, 0,
|
||||||
0, 0, 42, 0, 16, 0,
|
0, 0, 42, 0, 16, 0,
|
||||||
1, 0, 0, 0, 30, 0,
|
0, 0, 0, 0, 35, 0,
|
||||||
0, 7, 66, 0, 16, 0,
|
0, 13, 50, 0, 16, 0,
|
||||||
0, 0, 0, 0, 58, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 13,
|
|
||||||
50, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 0, 16, 128,
|
|
||||||
65, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
80, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 70, 0,
|
0, 0, 0, 0, 70, 0,
|
||||||
|
16, 128, 65, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 40, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 40, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
35, 0, 0, 9, 18, 0,
|
35, 0, 0, 9, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
26, 0, 16, 0, 0, 0,
|
42, 0, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
80, 0, 0, 0, 10, 0,
|
0, 5, 0, 0, 10, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
41, 0, 0, 7, 18, 0,
|
85, 0, 0, 7, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
1, 0, 0, 0, 35, 0,
|
2, 0, 0, 0, 164, 0,
|
||||||
0, 9, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 0, 5,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 85, 0,
|
|
||||||
0, 7, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 10, 98, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
0, 10, 242, 224, 33, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 86, 5, 16, 0,
|
0, 0, 6, 0, 16, 0,
|
||||||
0, 0, 0, 0, 70, 132,
|
0, 0, 0, 0, 70, 132,
|
||||||
48, 0, 0, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 30, 0, 0, 7,
|
0, 0, 30, 0, 0, 10,
|
||||||
34, 0, 16, 0, 0, 0,
|
98, 0, 16, 0, 0, 0,
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 6, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 2, 64,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
164, 0, 0, 10, 242, 224,
|
164, 0, 0, 10, 242, 224,
|
||||||
33, 0, 0, 0, 0, 0,
|
33, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 86, 5,
|
0, 0, 0, 0, 86, 5,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
70, 132, 48, 0, 0, 0,
|
70, 132, 48, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 164, 0,
|
0, 0, 0, 0, 30, 0,
|
||||||
0, 10, 242, 224, 33, 0,
|
0, 7, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 2, 0,
|
||||||
|
0, 0, 164, 0, 0, 10,
|
||||||
|
242, 224, 33, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 166, 10, 16, 0,
|
86, 5, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 70, 132,
|
0, 0, 70, 132, 48, 0,
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 62, 0, 0, 1,
|
0, 0, 0, 0, 0, 0,
|
||||||
83, 84, 65, 84, 148, 0,
|
164, 0, 0, 10, 242, 224,
|
||||||
0, 0, 33, 0, 0, 0,
|
33, 0, 0, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 166, 10,
|
||||||
0, 0, 1, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 12, 0,
|
70, 132, 48, 0, 0, 0,
|
||||||
0, 0, 7, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
2, 0, 0, 0, 1, 0,
|
0, 0, 0, 0, 62, 0,
|
||||||
|
0, 1, 83, 84, 65, 84,
|
||||||
|
148, 0, 0, 0, 32, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
11, 0, 0, 0, 7, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
2, 0, 0, 0, 1, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -406,6 +401,6 @@ const BYTE resolve_clear_64bpp_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 4, 0,
|
||||||
0, 0, 4, 0, 0, 0
|
0, 0
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,6 +14,13 @@
|
||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
|
// cbuffer XeResolveResolutionScaleConstant
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// uint xe_resolve_resolution_scale; // Offset: 0 Size: 4
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
//
|
//
|
||||||
// Resource Bindings:
|
// Resource Bindings:
|
||||||
//
|
//
|
||||||
|
@ -21,6 +28,7 @@
|
||||||
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||||
// xe_resolve_dest UAV uint4 buf U0 u0 1
|
// xe_resolve_dest UAV uint4 buf U0 u0 1
|
||||||
// XeResolveConstants cbuffer NA NA CB0 cb0 1
|
// XeResolveConstants cbuffer NA NA CB0 cb0 1
|
||||||
|
// XeResolveResolutionScaleConstant cbuffer NA NA CB1 cb1 1
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
@ -38,6 +46,7 @@
|
||||||
cs_5_1
|
cs_5_1
|
||||||
dcl_globalFlags refactoringAllowed
|
dcl_globalFlags refactoringAllowed
|
||||||
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
|
dcl_constantbuffer CB0[0:0][1], immediateIndexed, space=0
|
||||||
|
dcl_constantbuffer CB1[1:1][1], immediateIndexed, space=0
|
||||||
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
||||||
dcl_input vThreadID.xy
|
dcl_input vThreadID.xy
|
||||||
dcl_temps 3
|
dcl_temps 3
|
||||||
|
@ -45,6 +54,8 @@ dcl_thread_group 8, 8, 1
|
||||||
ubfe r0.xy, l(2, 11, 0, 0), l(10, 7, 0, 0), CB0[0][0].zwzz
|
ubfe r0.xy, l(2, 11, 0, 0), l(10, 7, 0, 0), CB0[0][0].zwzz
|
||||||
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
|
uge r0.xz, r0.xxxx, l(2, 0, 1, 0)
|
||||||
and r0.w, r0.x, l(1)
|
and r0.w, r0.x, l(1)
|
||||||
|
and r1.x, CB1[1][0].x, l(3)
|
||||||
|
imul null, r0.y, r0.y, r1.x
|
||||||
ishl r0.y, r0.y, r0.w
|
ishl r0.y, r0.y, r0.w
|
||||||
uge r0.y, vThreadID.x, r0.y
|
uge r0.y, vThreadID.x, r0.y
|
||||||
if_nz r0.y
|
if_nz r0.y
|
||||||
|
@ -52,107 +63,117 @@ if_nz r0.y
|
||||||
endif
|
endif
|
||||||
ishl r1.x, vThreadID.x, l(3)
|
ishl r1.x, vThreadID.x, l(3)
|
||||||
ushr r2.y, CB0[0][0].w, l(5)
|
ushr r2.y, CB0[0][0].w, l(5)
|
||||||
movc r0.xy, r0.xzxx, l(4,4,0,0), l(3,3,0,0)
|
|
||||||
mov r2.x, CB0[0][0].w
|
mov r2.x, CB0[0][0].w
|
||||||
bfi r0.xy, l(5, 2, 0, 0), r0.xyxx, r2.xyxx, l(0, 0, 0, 0)
|
and r0.yw, r2.xxxy, l(0, 31, 0, 3)
|
||||||
|
ushr r2.z, CB1[1][0].x, l(2)
|
||||||
|
mov r2.y, CB1[1][0].x
|
||||||
|
and r1.zw, r2.yyyz, l(0, 0, 3, 3)
|
||||||
|
imul null, r0.yw, r0.yyyw, r1.zzzw
|
||||||
|
movc r0.xz, r0.xxzx, l(4,0,4,0), l(3,0,3,0)
|
||||||
|
ishl r0.xy, r0.ywyy, r0.xzxx
|
||||||
mov r1.y, vThreadID.y
|
mov r1.y, vThreadID.y
|
||||||
iadd r0.xy, r0.xyxx, r1.xyxx
|
iadd r0.xy, r0.xyxx, r1.xyxx
|
||||||
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
ubfe r0.z, l(12), l(13), CB0[0][0].z
|
||||||
and r0.w, CB0[0][0].z, l(1023)
|
and r0.w, CB0[0][0].z, l(1023)
|
||||||
udiv r1.xy, null, r0.xyxx, l(80, 16, 0, 0)
|
imul null, r1.yz, r1.zzwz, l(0, 80, 16, 0)
|
||||||
ishl r1.z, r1.x, l(1)
|
ushr r1.x, r1.y, l(1)
|
||||||
imad r0.w, r1.y, r0.w, r1.z
|
udiv r2.xy, null, r0.xyxx, r1.xzxx
|
||||||
|
imad r0.w, r2.y, r0.w, r2.x
|
||||||
iadd r0.z, r0.w, r0.z
|
iadd r0.z, r0.w, r0.z
|
||||||
imad r0.xy, -r1.xyxx, l(80, 16, 0, 0), r0.xyxx
|
imad r0.xy, -r2.xyxx, r1.xzxx, r0.xyxx
|
||||||
imad r0.x, r0.y, l(80), r0.x
|
imul null, r0.w, r1.z, r1.y
|
||||||
|
imad r0.x, r0.y, r1.x, r0.x
|
||||||
ishl r0.x, r0.x, l(1)
|
ishl r0.x, r0.x, l(1)
|
||||||
imad r0.x, r0.z, l(1280), r0.x
|
imad r0.x, r0.z, r0.w, r0.x
|
||||||
|
ushr r0.x, r0.x, l(2)
|
||||||
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xyxy
|
store_uav_typed U0[0].xyzw, r0.xxxx, CB0[0][0].xyxy
|
||||||
iadd r1.xyzw, r0.xxxx, l(1, 3, 7, 15)
|
iadd r0.yz, r0.xxxx, l(0, 1, 3, 0)
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, CB0[0][0].xyxy
|
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
|
||||||
iadd r2.xyzw, r0.xxxx, l(2, 4, 5, 6)
|
iadd r0.y, r0.x, l(2)
|
||||||
store_uav_typed U0[0].xyzw, r2.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r2.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r2.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r2.wwww, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.zzzz, CB0[0][0].xyxy
|
|
||||||
iadd r2.xyzw, r0.xxxx, l(8, 9, 10, 11)
|
|
||||||
store_uav_typed U0[0].xyzw, r2.xxxx, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r2.yyyy, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r2.zzzz, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r2.wwww, CB0[0][0].xyxy
|
|
||||||
iadd r0.yzw, r0.xxxx, l(0, 12, 13, 14)
|
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
|
store_uav_typed U0[0].xyzw, r0.yyyy, CB0[0][0].xyxy
|
||||||
store_uav_typed U0[0].xyzw, r0.zzzz, CB0[0][0].xyxy
|
store_uav_typed U0[0].xyzw, r0.zzzz, CB0[0][0].xyxy
|
||||||
store_uav_typed U0[0].xyzw, r0.wwww, CB0[0][0].xyxy
|
|
||||||
store_uav_typed U0[0].xyzw, r1.wwww, CB0[0][0].xyxy
|
|
||||||
ret
|
ret
|
||||||
// Approximately 46 instruction slots used
|
// Approximately 42 instruction slots used
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const BYTE resolve_clear_64bpp_2xres_cs[] =
|
const BYTE resolve_clear_64bpp_scaled_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 83, 196,
|
68, 88, 66, 67, 226, 249,
|
||||||
195, 117, 81, 175, 248, 206,
|
231, 177, 11, 141, 42, 153,
|
||||||
212, 200, 214, 225, 96, 167,
|
99, 45, 131, 104, 152, 194,
|
||||||
204, 10, 1, 0, 0, 0,
|
26, 176, 1, 0, 0, 0,
|
||||||
208, 9, 0, 0, 5, 0,
|
112, 9, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
64, 2, 0, 0, 80, 2,
|
228, 2, 0, 0, 244, 2,
|
||||||
0, 0, 96, 2, 0, 0,
|
0, 0, 4, 3, 0, 0,
|
||||||
52, 9, 0, 0, 82, 68,
|
212, 8, 0, 0, 82, 68,
|
||||||
69, 70, 4, 2, 0, 0,
|
69, 70, 168, 2, 0, 0,
|
||||||
1, 0, 0, 0, 176, 0,
|
2, 0, 0, 0, 248, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
60, 0, 0, 0, 1, 5,
|
60, 0, 0, 0, 1, 5,
|
||||||
83, 67, 0, 5, 4, 0,
|
83, 67, 0, 5, 4, 0,
|
||||||
220, 1, 0, 0, 19, 19,
|
128, 2, 0, 0, 19, 19,
|
||||||
68, 37, 60, 0, 0, 0,
|
68, 37, 60, 0, 0, 0,
|
||||||
24, 0, 0, 0, 40, 0,
|
24, 0, 0, 0, 40, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
36, 0, 0, 0, 12, 0,
|
36, 0, 0, 0, 12, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
140, 0, 0, 0, 4, 0,
|
180, 0, 0, 0, 4, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
1, 0, 0, 0, 255, 255,
|
1, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 12, 0,
|
1, 0, 0, 0, 12, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 156, 0,
|
0, 0, 0, 0, 196, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 0,
|
0, 0, 0, 0, 1, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 120, 101, 95, 114,
|
0, 0, 215, 0, 0, 0,
|
||||||
101, 115, 111, 108, 118, 101,
|
0, 0, 0, 0, 0, 0,
|
||||||
95, 100, 101, 115, 116, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
88, 101, 82, 101, 115, 111,
|
0, 0, 0, 0, 1, 0,
|
||||||
108, 118, 101, 67, 111, 110,
|
0, 0, 1, 0, 0, 0,
|
||||||
115, 116, 97, 110, 116, 115,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 171, 156, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
3, 0, 0, 0, 200, 0,
|
120, 101, 95, 114, 101, 115,
|
||||||
|
111, 108, 118, 101, 95, 100,
|
||||||
|
101, 115, 116, 0, 88, 101,
|
||||||
|
82, 101, 115, 111, 108, 118,
|
||||||
|
101, 67, 111, 110, 115, 116,
|
||||||
|
97, 110, 116, 115, 0, 88,
|
||||||
|
101, 82, 101, 115, 111, 108,
|
||||||
|
118, 101, 82, 101, 115, 111,
|
||||||
|
108, 117, 116, 105, 111, 110,
|
||||||
|
83, 99, 97, 108, 101, 67,
|
||||||
|
111, 110, 115, 116, 97, 110,
|
||||||
|
116, 0, 196, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 40, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 64, 1, 0, 0,
|
0, 0, 215, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 60, 2,
|
||||||
|
0, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 160, 1, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
0, 0, 0, 0, 8, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
96, 1, 0, 0, 0, 0,
|
192, 1, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
132, 1, 0, 0, 8, 0,
|
228, 1, 0, 0, 8, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
2, 0, 0, 0, 160, 1,
|
2, 0, 0, 0, 0, 2,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 196, 1,
|
0, 0, 0, 0, 36, 2,
|
||||||
0, 0, 12, 0, 0, 0,
|
0, 0, 12, 0, 0, 0,
|
||||||
4, 0, 0, 0, 2, 0,
|
4, 0, 0, 0, 2, 0,
|
||||||
0, 0, 160, 1, 0, 0,
|
0, 0, 0, 2, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
|
@ -167,7 +188,7 @@ const BYTE resolve_clear_64bpp_2xres_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
87, 1, 0, 0, 120, 101,
|
183, 1, 0, 0, 120, 101,
|
||||||
95, 114, 101, 115, 111, 108,
|
95, 114, 101, 115, 111, 108,
|
||||||
118, 101, 95, 101, 100, 114,
|
118, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 105, 110, 102,
|
97, 109, 95, 105, 110, 102,
|
||||||
|
@ -177,30 +198,46 @@ const BYTE resolve_clear_64bpp_2xres_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 154, 1,
|
0, 0, 0, 0, 250, 1,
|
||||||
0, 0, 120, 101, 95, 114,
|
0, 0, 120, 101, 95, 114,
|
||||||
101, 115, 111, 108, 118, 101,
|
101, 115, 111, 108, 118, 101,
|
||||||
95, 97, 100, 100, 114, 101,
|
95, 97, 100, 100, 114, 101,
|
||||||
115, 115, 95, 105, 110, 102,
|
115, 115, 95, 105, 110, 102,
|
||||||
111, 0, 77, 105, 99, 114,
|
111, 0, 100, 2, 0, 0,
|
||||||
111, 115, 111, 102, 116, 32,
|
0, 0, 0, 0, 4, 0,
|
||||||
40, 82, 41, 32, 72, 76,
|
0, 0, 2, 0, 0, 0,
|
||||||
83, 76, 32, 83, 104, 97,
|
0, 2, 0, 0, 0, 0,
|
||||||
100, 101, 114, 32, 67, 111,
|
0, 0, 255, 255, 255, 255,
|
||||||
109, 112, 105, 108, 101, 114,
|
0, 0, 0, 0, 255, 255,
|
||||||
32, 49, 48, 46, 49, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
73, 83, 71, 78, 8, 0,
|
120, 101, 95, 114, 101, 115,
|
||||||
|
111, 108, 118, 101, 95, 114,
|
||||||
|
101, 115, 111, 108, 117, 116,
|
||||||
|
105, 111, 110, 95, 115, 99,
|
||||||
|
97, 108, 101, 0, 77, 105,
|
||||||
|
99, 114, 111, 115, 111, 102,
|
||||||
|
116, 32, 40, 82, 41, 32,
|
||||||
|
72, 76, 83, 76, 32, 83,
|
||||||
|
104, 97, 100, 101, 114, 32,
|
||||||
|
67, 111, 109, 112, 105, 108,
|
||||||
|
101, 114, 32, 49, 48, 46,
|
||||||
|
49, 0, 73, 83, 71, 78,
|
||||||
|
8, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
79, 83, 71, 78, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
8, 0, 0, 0, 79, 83,
|
8, 0, 0, 0, 83, 72,
|
||||||
71, 78, 8, 0, 0, 0,
|
69, 88, 200, 5, 0, 0,
|
||||||
0, 0, 0, 0, 8, 0,
|
81, 0, 5, 0, 114, 1,
|
||||||
0, 0, 83, 72, 69, 88,
|
0, 0, 106, 8, 0, 1,
|
||||||
204, 6, 0, 0, 81, 0,
|
89, 0, 0, 7, 70, 142,
|
||||||
5, 0, 179, 1, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
106, 8, 0, 1, 89, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 89, 0,
|
||||||
0, 7, 70, 142, 48, 0,
|
0, 7, 70, 142, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 156, 8, 0, 7,
|
0, 0, 156, 8, 0, 7,
|
||||||
70, 238, 49, 0, 0, 0,
|
70, 238, 49, 0, 0, 0,
|
||||||
|
@ -235,54 +272,88 @@ const BYTE resolve_clear_64bpp_2xres_cs[] =
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 10, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
41, 0, 0, 7, 34, 0,
|
1, 0, 0, 9, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 80, 0,
|
|
||||||
0, 6, 34, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
2, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 31, 0,
|
|
||||||
4, 3, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 21, 0, 0, 1,
|
|
||||||
41, 0, 0, 6, 18, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
10, 0, 2, 0, 1, 64,
|
10, 128, 48, 0, 1, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
85, 0, 0, 9, 34, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
55, 0, 0, 15, 50, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
134, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
4, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
0, 0, 3, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
38, 0, 0, 8, 0, 208,
|
||||||
|
0, 0, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
34, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
80, 0, 0, 6, 34, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 2, 0, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
31, 0, 4, 3, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
62, 0, 0, 1, 21, 0,
|
||||||
|
0, 1, 41, 0, 0, 6,
|
||||||
|
18, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 10, 0, 2, 0,
|
||||||
|
1, 64, 0, 0, 3, 0,
|
||||||
|
0, 0, 85, 0, 0, 9,
|
||||||
|
34, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 58, 128, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
54, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 140, 0,
|
1, 64, 0, 0, 5, 0,
|
||||||
0, 17, 50, 0, 16, 0,
|
0, 0, 54, 0, 0, 7,
|
||||||
0, 0, 0, 0, 2, 64,
|
18, 0, 16, 0, 2, 0,
|
||||||
0, 0, 5, 0, 0, 0,
|
0, 0, 58, 128, 48, 0,
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
70, 0, 16, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 70, 0, 16, 0,
|
1, 0, 0, 10, 162, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
6, 4, 16, 0, 2, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 31, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 85, 0,
|
||||||
|
0, 9, 66, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 54, 0,
|
||||||
|
0, 7, 34, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 10,
|
||||||
|
194, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 86, 9, 16, 0,
|
||||||
2, 0, 0, 0, 2, 64,
|
2, 0, 0, 0, 2, 64,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
38, 0, 0, 8, 0, 208,
|
||||||
|
0, 0, 162, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 86, 13,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
166, 14, 16, 0, 1, 0,
|
||||||
|
0, 0, 55, 0, 0, 15,
|
||||||
|
82, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 2, 16, 0,
|
||||||
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
50, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 214, 5, 16, 0,
|
||||||
|
0, 0, 0, 0, 134, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
54, 0, 0, 4, 34, 0,
|
54, 0, 0, 4, 34, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
26, 0, 2, 0, 30, 0,
|
26, 0, 2, 0, 30, 0,
|
||||||
|
@ -303,161 +374,81 @@ const BYTE resolve_clear_64bpp_2xres_cs[] =
|
||||||
48, 0, 0, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
255, 3, 0, 0, 78, 0,
|
255, 3, 0, 0, 38, 0,
|
||||||
0, 11, 50, 0, 16, 0,
|
0, 11, 0, 208, 0, 0,
|
||||||
1, 0, 0, 0, 0, 208,
|
98, 0, 16, 0, 1, 0,
|
||||||
0, 0, 70, 0, 16, 0,
|
0, 0, 166, 11, 16, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
1, 0, 0, 0, 2, 64,
|
||||||
0, 0, 80, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
41, 0, 0, 7, 66, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 35, 0,
|
|
||||||
0, 9, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 66, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 58, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 13,
|
|
||||||
50, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 0, 16, 128,
|
|
||||||
65, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
80, 0, 0, 0, 16, 0,
|
80, 0, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
85, 0, 0, 7, 18, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 78, 0,
|
||||||
|
0, 8, 50, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 0, 208,
|
||||||
|
0, 0, 70, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 134, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
35, 0, 0, 9, 130, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 35, 0,
|
||||||
|
0, 10, 50, 0, 16, 0,
|
||||||
0, 0, 0, 0, 70, 0,
|
0, 0, 0, 0, 70, 0,
|
||||||
|
16, 128, 65, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 134, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 38, 0, 0, 8,
|
||||||
|
0, 208, 0, 0, 130, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
35, 0, 0, 9, 18, 0,
|
42, 0, 16, 0, 1, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 26, 0, 16, 0,
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
80, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
41, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 35, 0,
|
1, 0, 0, 0, 35, 0,
|
||||||
0, 9, 18, 0, 16, 0,
|
0, 9, 18, 0, 16, 0,
|
||||||
0, 0, 0, 0, 42, 0,
|
0, 0, 0, 0, 26, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
1, 64, 0, 0, 0, 5,
|
10, 0, 16, 0, 1, 0,
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 10, 0, 16, 0,
|
||||||
0, 0, 0, 0, 164, 0,
|
0, 0, 0, 0, 41, 0,
|
||||||
0, 10, 242, 224, 33, 0,
|
0, 7, 18, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 7, 0,
|
|
||||||
0, 0, 15, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 10, 242, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
2, 64, 0, 0, 2, 0,
|
1, 64, 0, 0, 1, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 35, 0, 0, 9,
|
||||||
5, 0, 0, 0, 6, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 164, 0, 0, 10,
|
0, 0, 42, 0, 16, 0,
|
||||||
242, 224, 33, 0, 0, 0,
|
0, 0, 0, 0, 58, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 0, 16, 0, 2, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 70, 132, 48, 0,
|
0, 0, 85, 0, 0, 7,
|
||||||
0, 0, 0, 0, 0, 0,
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 10, 0, 16, 0,
|
||||||
164, 0, 0, 10, 242, 224,
|
0, 0, 0, 0, 1, 64,
|
||||||
33, 0, 0, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
0, 0, 0, 0, 86, 5,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
166, 10, 16, 0, 2, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
9, 0, 0, 0, 10, 0,
|
|
||||||
0, 0, 11, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
164, 0, 0, 10, 242, 224,
|
||||||
33, 0, 0, 0, 0, 0,
|
33, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 6, 0,
|
0, 0, 0, 0, 6, 0,
|
||||||
16, 0, 2, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
70, 132, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 164, 0,
|
|
||||||
0, 10, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 132,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 164, 0, 0, 10,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
166, 10, 16, 0, 2, 0,
|
|
||||||
0, 0, 70, 132, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
164, 0, 0, 10, 242, 224,
|
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 246, 15,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
70, 132, 48, 0, 0, 0,
|
70, 132, 48, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 30, 0,
|
0, 0, 0, 0, 30, 0,
|
||||||
0, 10, 226, 0, 16, 0,
|
0, 10, 98, 0, 16, 0,
|
||||||
0, 0, 0, 0, 6, 0,
|
0, 0, 0, 0, 6, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
2, 64, 0, 0, 0, 0,
|
2, 64, 0, 0, 0, 0,
|
||||||
0, 0, 12, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
13, 0, 0, 0, 14, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
0, 0, 164, 0, 0, 10,
|
0, 0, 164, 0, 0, 10,
|
||||||
242, 224, 33, 0, 0, 0,
|
242, 224, 33, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -465,33 +456,31 @@ const BYTE resolve_clear_64bpp_2xres_cs[] =
|
||||||
0, 0, 70, 132, 48, 0,
|
0, 0, 70, 132, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
164, 0, 0, 10, 242, 224,
|
30, 0, 0, 7, 34, 0,
|
||||||
33, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 166, 10,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
70, 132, 48, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
0, 0, 0, 0, 164, 0,
|
2, 0, 0, 0, 164, 0,
|
||||||
0, 10, 242, 224, 33, 0,
|
0, 10, 242, 224, 33, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 246, 15, 16, 0,
|
0, 0, 86, 5, 16, 0,
|
||||||
0, 0, 0, 0, 70, 132,
|
0, 0, 0, 0, 70, 132,
|
||||||
48, 0, 0, 0, 0, 0,
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 164, 0, 0, 10,
|
0, 0, 164, 0, 0, 10,
|
||||||
242, 224, 33, 0, 0, 0,
|
242, 224, 33, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
246, 15, 16, 0, 1, 0,
|
166, 10, 16, 0, 0, 0,
|
||||||
0, 0, 70, 132, 48, 0,
|
0, 0, 70, 132, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
62, 0, 0, 1, 83, 84,
|
62, 0, 0, 1, 83, 84,
|
||||||
65, 84, 148, 0, 0, 0,
|
65, 84, 148, 0, 0, 0,
|
||||||
46, 0, 0, 0, 3, 0,
|
42, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 14, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
6, 0, 0, 0, 2, 0,
|
12, 0, 0, 0, 2, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -499,7 +488,7 @@ const BYTE resolve_clear_64bpp_2xres_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 2, 0,
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -511,5 +500,5 @@ const BYTE resolve_clear_64bpp_2xres_cs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
16, 0, 0, 0
|
4, 0, 0, 0
|
||||||
};
|
};
|
|
@ -134,7 +134,7 @@ if_nz r1.y
|
||||||
ishr r5.xyzw, r0.zwzw, l(4, 5, 3, 3)
|
ishr r5.xyzw, r0.zwzw, l(4, 5, 3, 3)
|
||||||
ishr r1.w, r1.y, l(2)
|
ishr r1.w, r1.y, l(2)
|
||||||
ushr r1.z, r1.z, l(4)
|
ushr r1.z, r1.z, l(4)
|
||||||
and r1.z, r1.z, l(0x00007ffe)
|
and r1.z, r1.z, l(2046)
|
||||||
imad r1.z, r1.w, r1.z, r5.x
|
imad r1.z, r1.w, r1.z, r5.x
|
||||||
ushr r3.x, r1.x, l(5)
|
ushr r3.x, r1.x, l(5)
|
||||||
imad r1.z, r1.z, r3.x, r5.y
|
imad r1.z, r1.z, r3.x, r5.y
|
||||||
|
@ -214,10 +214,10 @@ ret
|
||||||
|
|
||||||
const BYTE resolve_fast_32bpp_1x2xmsaa_cs[] =
|
const BYTE resolve_fast_32bpp_1x2xmsaa_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 170, 170,
|
68, 88, 66, 67, 155, 144,
|
||||||
165, 130, 168, 176, 195, 98,
|
108, 102, 32, 219, 74, 112,
|
||||||
149, 147, 242, 194, 180, 42,
|
191, 128, 193, 179, 111, 166,
|
||||||
229, 247, 1, 0, 0, 0,
|
110, 225, 1, 0, 0, 0,
|
||||||
156, 24, 0, 0, 5, 0,
|
156, 24, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
208, 2, 0, 0, 224, 2,
|
208, 2, 0, 0, 224, 2,
|
||||||
|
@ -809,7 +809,7 @@ const BYTE resolve_fast_32bpp_1x2xmsaa_cs[] =
|
||||||
66, 0, 16, 0, 1, 0,
|
66, 0, 16, 0, 1, 0,
|
||||||
0, 0, 42, 0, 16, 0,
|
0, 0, 42, 0, 16, 0,
|
||||||
1, 0, 0, 0, 1, 64,
|
1, 0, 0, 0, 1, 64,
|
||||||
0, 0, 254, 127, 0, 0,
|
0, 0, 254, 7, 0, 0,
|
||||||
35, 0, 0, 9, 66, 0,
|
35, 0, 0, 9, 66, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
58, 0, 16, 0, 1, 0,
|
58, 0, 16, 0, 1, 0,
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -145,7 +145,7 @@ if_nz r1.y
|
||||||
ishr r5.xyzw, r0.zwzw, l(4, 5, 3, 3)
|
ishr r5.xyzw, r0.zwzw, l(4, 5, 3, 3)
|
||||||
ishr r1.w, r1.y, l(2)
|
ishr r1.w, r1.y, l(2)
|
||||||
ushr r1.z, r1.z, l(4)
|
ushr r1.z, r1.z, l(4)
|
||||||
and r1.z, r1.z, l(0x00007ffe)
|
and r1.z, r1.z, l(2046)
|
||||||
imad r1.z, r1.w, r1.z, r5.x
|
imad r1.z, r1.w, r1.z, r5.x
|
||||||
ushr r3.x, r1.x, l(5)
|
ushr r3.x, r1.x, l(5)
|
||||||
imad r1.z, r1.z, r3.x, r5.y
|
imad r1.z, r1.z, r3.x, r5.y
|
||||||
|
@ -225,10 +225,10 @@ ret
|
||||||
|
|
||||||
const BYTE resolve_fast_32bpp_4xmsaa_cs[] =
|
const BYTE resolve_fast_32bpp_4xmsaa_cs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 157, 47,
|
68, 88, 66, 67, 83, 123,
|
||||||
205, 189, 191, 234, 36, 109,
|
16, 172, 13, 23, 165, 181,
|
||||||
43, 57, 16, 89, 240, 4,
|
111, 176, 230, 199, 227, 113,
|
||||||
171, 220, 1, 0, 0, 0,
|
202, 160, 1, 0, 0, 0,
|
||||||
196, 25, 0, 0, 5, 0,
|
196, 25, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
208, 2, 0, 0, 224, 2,
|
208, 2, 0, 0, 224, 2,
|
||||||
|
@ -869,7 +869,7 @@ const BYTE resolve_fast_32bpp_4xmsaa_cs[] =
|
||||||
0, 7, 66, 0, 16, 0,
|
0, 7, 66, 0, 16, 0,
|
||||||
1, 0, 0, 0, 42, 0,
|
1, 0, 0, 0, 42, 0,
|
||||||
16, 0, 1, 0, 0, 0,
|
16, 0, 1, 0, 0, 0,
|
||||||
1, 64, 0, 0, 254, 127,
|
1, 64, 0, 0, 254, 7,
|
||||||
0, 0, 35, 0, 0, 9,
|
0, 0, 35, 0, 0, 9,
|
||||||
66, 0, 16, 0, 1, 0,
|
66, 0, 16, 0, 1, 0,
|
||||||
0, 0, 58, 0, 16, 0,
|
0, 0, 58, 0, 16, 0,
|
||||||
|
|
1675
src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_32bpp_4xmsaa_scaled_cs.h
generated
Normal file
1675
src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_32bpp_4xmsaa_scaled_cs.h
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1510
src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
generated
Normal file
1510
src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_1x2xmsaa_scaled_cs.h
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1510
src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_scaled_cs.h
generated
Normal file
1510
src/xenia/gpu/shaders/bytecode/d3d12_5_1/resolve_fast_64bpp_4xmsaa_scaled_cs.h
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -28,11 +28,11 @@
|
||||||
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
||||||
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
||||||
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
||||||
// uint xe_edram_pitch_tiles; // Offset: 236 Size: 4 [unused]
|
// uint xe_edram_32bpp_tile_pitch_dwords_scaled;// Offset: 236 Size: 4 [unused]
|
||||||
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
||||||
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
||||||
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
||||||
// uint xe_edram_depth_base_dwords; // Offset: 272 Size: 4 [unused]
|
// uint xe_edram_depth_base_dwords_scaled;// Offset: 272 Size: 4 [unused]
|
||||||
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
||||||
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
||||||
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
||||||
|
@ -94,21 +94,21 @@ ret
|
||||||
|
|
||||||
const BYTE tessellation_adaptive_vs[] =
|
const BYTE tessellation_adaptive_vs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 70, 199,
|
68, 88, 66, 67, 223, 69,
|
||||||
99, 28, 252, 60, 232, 131,
|
21, 252, 96, 81, 180, 155,
|
||||||
32, 27, 138, 155, 32, 225,
|
11, 146, 181, 238, 118, 211,
|
||||||
78, 128, 1, 0, 0, 0,
|
188, 154, 1, 0, 0, 0,
|
||||||
176, 13, 0, 0, 5, 0,
|
196, 13, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
164, 10, 0, 0, 216, 10,
|
184, 10, 0, 0, 236, 10,
|
||||||
0, 0, 16, 11, 0, 0,
|
0, 0, 36, 11, 0, 0,
|
||||||
20, 13, 0, 0, 82, 68,
|
40, 13, 0, 0, 82, 68,
|
||||||
69, 70, 104, 10, 0, 0,
|
69, 70, 124, 10, 0, 0,
|
||||||
1, 0, 0, 0, 120, 0,
|
1, 0, 0, 0, 120, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
60, 0, 0, 0, 1, 5,
|
60, 0, 0, 0, 1, 5,
|
||||||
254, 255, 0, 5, 4, 0,
|
254, 255, 0, 5, 4, 0,
|
||||||
62, 10, 0, 0, 19, 19,
|
82, 10, 0, 0, 19, 19,
|
||||||
68, 37, 60, 0, 0, 0,
|
68, 37, 60, 0, 0, 0,
|
||||||
24, 0, 0, 0, 40, 0,
|
24, 0, 0, 0, 40, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
|
@ -268,76 +268,76 @@ const BYTE tessellation_adaptive_vs[] =
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
119, 8, 0, 0, 240, 0,
|
138, 8, 0, 0, 240, 0,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 140, 8,
|
0, 0, 0, 0, 156, 8,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 176, 8,
|
0, 0, 0, 0, 192, 8,
|
||||||
0, 0, 0, 1, 0, 0,
|
0, 0, 0, 1, 0, 0,
|
||||||
8, 0, 0, 0, 0, 0,
|
8, 0, 0, 0, 0, 0,
|
||||||
0, 0, 232, 5, 0, 0,
|
0, 0, 232, 5, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 203, 8, 0, 0,
|
0, 0, 219, 8, 0, 0,
|
||||||
8, 1, 0, 0, 8, 0,
|
8, 1, 0, 0, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
232, 5, 0, 0, 0, 0,
|
232, 5, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
229, 8, 0, 0, 16, 1,
|
245, 8, 0, 0, 16, 1,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
0, 0, 0, 0, 160, 5,
|
0, 0, 0, 0, 160, 5,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 0, 9,
|
0, 0, 0, 0, 23, 9,
|
||||||
0, 0, 32, 1, 0, 0,
|
0, 0, 32, 1, 0, 0,
|
||||||
32, 0, 0, 0, 0, 0,
|
32, 0, 0, 0, 0, 0,
|
||||||
0, 0, 20, 9, 0, 0,
|
0, 0, 40, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 56, 9, 0, 0,
|
0, 0, 76, 9, 0, 0,
|
||||||
64, 1, 0, 0, 16, 0,
|
64, 1, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
88, 9, 0, 0, 0, 0,
|
108, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
124, 9, 0, 0, 80, 1,
|
144, 9, 0, 0, 80, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 149, 9,
|
0, 0, 0, 0, 169, 9,
|
||||||
0, 0, 96, 1, 0, 0,
|
0, 0, 96, 1, 0, 0,
|
||||||
64, 0, 0, 0, 0, 0,
|
64, 0, 0, 0, 0, 0,
|
||||||
0, 0, 168, 9, 0, 0,
|
0, 0, 188, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 204, 9, 0, 0,
|
0, 0, 224, 9, 0, 0,
|
||||||
160, 1, 0, 0, 32, 0,
|
160, 1, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
228, 9, 0, 0, 0, 0,
|
248, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
8, 10, 0, 0, 192, 1,
|
28, 10, 0, 0, 192, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 38, 10,
|
0, 0, 0, 0, 58, 10,
|
||||||
0, 0, 208, 1, 0, 0,
|
0, 0, 208, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 140, 8, 0, 0,
|
0, 0, 156, 8, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
|
@ -463,34 +463,72 @@ const BYTE tessellation_adaptive_vs[] =
|
||||||
97, 95, 116, 111, 95, 109,
|
97, 95, 116, 111, 95, 109,
|
||||||
97, 115, 107, 0, 120, 101,
|
97, 115, 107, 0, 120, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
95, 101, 100, 114, 97, 109,
|
||||||
95, 112, 105, 116, 99, 104,
|
95, 51, 50, 98, 112, 112,
|
||||||
95, 116, 105, 108, 101, 115,
|
95, 116, 105, 108, 101, 95,
|
||||||
0, 120, 101, 95, 99, 111,
|
112, 105, 116, 99, 104, 95,
|
||||||
108, 111, 114, 95, 101, 120,
|
100, 119, 111, 114, 100, 115,
|
||||||
112, 95, 98, 105, 97, 115,
|
95, 115, 99, 97, 108, 101,
|
||||||
0, 171, 171, 171, 1, 0,
|
100, 0, 120, 101, 95, 99,
|
||||||
3, 0, 1, 0, 4, 0,
|
111, 108, 111, 114, 95, 101,
|
||||||
|
120, 112, 95, 98, 105, 97,
|
||||||
|
115, 0, 1, 0, 3, 0,
|
||||||
|
1, 0, 4, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 172, 6,
|
||||||
172, 6, 0, 0, 120, 101,
|
0, 0, 120, 101, 95, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
100, 114, 97, 109, 95, 112,
|
||||||
95, 112, 111, 108, 121, 95,
|
111, 108, 121, 95, 111, 102,
|
||||||
111, 102, 102, 115, 101, 116,
|
102, 115, 101, 116, 95, 102,
|
||||||
95, 102, 114, 111, 110, 116,
|
114, 111, 110, 116, 0, 120,
|
||||||
|
101, 95, 101, 100, 114, 97,
|
||||||
|
109, 95, 112, 111, 108, 121,
|
||||||
|
95, 111, 102, 102, 115, 101,
|
||||||
|
116, 95, 98, 97, 99, 107,
|
||||||
0, 120, 101, 95, 101, 100,
|
0, 120, 101, 95, 101, 100,
|
||||||
114, 97, 109, 95, 112, 111,
|
114, 97, 109, 95, 100, 101,
|
||||||
108, 121, 95, 111, 102, 102,
|
112, 116, 104, 95, 98, 97,
|
||||||
115, 101, 116, 95, 98, 97,
|
115, 101, 95, 100, 119, 111,
|
||||||
99, 107, 0, 120, 101, 95,
|
114, 100, 115, 95, 115, 99,
|
||||||
101, 100, 114, 97, 109, 95,
|
97, 108, 101, 100, 0, 120,
|
||||||
100, 101, 112, 116, 104, 95,
|
101, 95, 101, 100, 114, 97,
|
||||||
98, 97, 115, 101, 95, 100,
|
109, 95, 115, 116, 101, 110,
|
||||||
119, 111, 114, 100, 115, 0,
|
99, 105, 108, 0, 1, 0,
|
||||||
|
19, 0, 1, 0, 4, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
247, 7, 0, 0, 120, 101,
|
||||||
|
95, 101, 100, 114, 97, 109,
|
||||||
|
95, 114, 116, 95, 98, 97,
|
||||||
|
115, 101, 95, 100, 119, 111,
|
||||||
|
114, 100, 115, 95, 115, 99,
|
||||||
|
97, 108, 101, 100, 0, 171,
|
||||||
|
1, 0, 19, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 247, 7, 0, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
120, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 115, 116, 101,
|
97, 109, 95, 114, 116, 95,
|
||||||
110, 99, 105, 108, 0, 171,
|
102, 111, 114, 109, 97, 116,
|
||||||
|
95, 102, 108, 97, 103, 115,
|
||||||
|
0, 120, 101, 95, 101, 100,
|
||||||
|
114, 97, 109, 95, 114, 116,
|
||||||
|
95, 99, 108, 97, 109, 112,
|
||||||
|
0, 171, 1, 0, 3, 0,
|
||||||
|
1, 0, 4, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 172, 6,
|
||||||
|
0, 0, 120, 101, 95, 101,
|
||||||
|
100, 114, 97, 109, 95, 114,
|
||||||
|
116, 95, 107, 101, 101, 112,
|
||||||
|
95, 109, 97, 115, 107, 0,
|
||||||
171, 171, 1, 0, 19, 0,
|
171, 171, 1, 0, 19, 0,
|
||||||
1, 0, 4, 0, 2, 0,
|
1, 0, 4, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -499,174 +537,139 @@ const BYTE tessellation_adaptive_vs[] =
|
||||||
0, 0, 0, 0, 247, 7,
|
0, 0, 0, 0, 247, 7,
|
||||||
0, 0, 120, 101, 95, 101,
|
0, 0, 120, 101, 95, 101,
|
||||||
100, 114, 97, 109, 95, 114,
|
100, 114, 97, 109, 95, 114,
|
||||||
116, 95, 98, 97, 115, 101,
|
116, 95, 98, 108, 101, 110,
|
||||||
95, 100, 119, 111, 114, 100,
|
100, 95, 102, 97, 99, 116,
|
||||||
115, 95, 115, 99, 97, 108,
|
111, 114, 115, 95, 111, 112,
|
||||||
101, 100, 0, 171, 1, 0,
|
115, 0, 120, 101, 95, 101,
|
||||||
19, 0, 1, 0, 4, 0,
|
100, 114, 97, 109, 95, 98,
|
||||||
0, 0, 0, 0, 0, 0,
|
108, 101, 110, 100, 95, 99,
|
||||||
0, 0, 0, 0, 0, 0,
|
111, 110, 115, 116, 97, 110,
|
||||||
0, 0, 0, 0, 0, 0,
|
116, 0, 77, 105, 99, 114,
|
||||||
0, 0, 0, 0, 0, 0,
|
111, 115, 111, 102, 116, 32,
|
||||||
247, 7, 0, 0, 120, 101,
|
40, 82, 41, 32, 72, 76,
|
||||||
95, 101, 100, 114, 97, 109,
|
83, 76, 32, 83, 104, 97,
|
||||||
95, 114, 116, 95, 102, 111,
|
100, 101, 114, 32, 67, 111,
|
||||||
114, 109, 97, 116, 95, 102,
|
109, 112, 105, 108, 101, 114,
|
||||||
108, 97, 103, 115, 0, 120,
|
32, 49, 48, 46, 49, 0,
|
||||||
101, 95, 101, 100, 114, 97,
|
171, 171, 73, 83, 71, 78,
|
||||||
109, 95, 114, 116, 95, 99,
|
44, 0, 0, 0, 1, 0,
|
||||||
108, 97, 109, 112, 0, 171,
|
0, 0, 8, 0, 0, 0,
|
||||||
1, 0, 3, 0, 1, 0,
|
32, 0, 0, 0, 0, 0,
|
||||||
4, 0, 4, 0, 0, 0,
|
0, 0, 6, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
83, 86, 95, 86, 101, 114,
|
||||||
0, 0, 172, 6, 0, 0,
|
116, 101, 120, 73, 68, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
79, 83, 71, 78, 48, 0,
|
||||||
97, 109, 95, 114, 116, 95,
|
|
||||||
107, 101, 101, 112, 95, 109,
|
|
||||||
97, 115, 107, 0, 171, 171,
|
|
||||||
1, 0, 19, 0, 1, 0,
|
|
||||||
4, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 247, 7, 0, 0,
|
|
||||||
120, 101, 95, 101, 100, 114,
|
|
||||||
97, 109, 95, 114, 116, 95,
|
|
||||||
98, 108, 101, 110, 100, 95,
|
|
||||||
102, 97, 99, 116, 111, 114,
|
|
||||||
115, 95, 111, 112, 115, 0,
|
|
||||||
120, 101, 95, 101, 100, 114,
|
|
||||||
97, 109, 95, 98, 108, 101,
|
|
||||||
110, 100, 95, 99, 111, 110,
|
|
||||||
115, 116, 97, 110, 116, 0,
|
|
||||||
77, 105, 99, 114, 111, 115,
|
|
||||||
111, 102, 116, 32, 40, 82,
|
|
||||||
41, 32, 72, 76, 83, 76,
|
|
||||||
32, 83, 104, 97, 100, 101,
|
|
||||||
114, 32, 67, 111, 109, 112,
|
|
||||||
105, 108, 101, 114, 32, 49,
|
|
||||||
48, 46, 49, 0, 171, 171,
|
|
||||||
73, 83, 71, 78, 44, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
8, 0, 0, 0, 32, 0,
|
8, 0, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
6, 0, 0, 0, 1, 0,
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 1, 0, 0, 83, 86,
|
1, 14, 0, 0, 88, 69,
|
||||||
95, 86, 101, 114, 116, 101,
|
84, 69, 83, 83, 70, 65,
|
||||||
120, 73, 68, 0, 79, 83,
|
67, 84, 79, 82, 0, 171,
|
||||||
71, 78, 48, 0, 0, 0,
|
171, 171, 83, 72, 69, 88,
|
||||||
1, 0, 0, 0, 8, 0,
|
252, 1, 0, 0, 81, 0,
|
||||||
0, 0, 32, 0, 0, 0,
|
1, 0, 127, 0, 0, 0,
|
||||||
|
106, 8, 0, 1, 89, 0,
|
||||||
|
0, 7, 70, 142, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 14,
|
|
||||||
0, 0, 88, 69, 84, 69,
|
|
||||||
83, 83, 70, 65, 67, 84,
|
|
||||||
79, 82, 0, 171, 171, 171,
|
|
||||||
83, 72, 69, 88, 252, 1,
|
|
||||||
0, 0, 81, 0, 1, 0,
|
|
||||||
127, 0, 0, 0, 106, 8,
|
|
||||||
0, 1, 89, 0, 0, 7,
|
|
||||||
70, 142, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 2, 0,
|
2, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 96, 0, 0, 4,
|
||||||
96, 0, 0, 4, 18, 16,
|
18, 16, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
101, 0, 0, 3, 18, 32,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 0, 0, 0, 101, 0,
|
104, 0, 0, 2, 1, 0,
|
||||||
0, 3, 18, 32, 16, 0,
|
0, 0, 32, 0, 0, 12,
|
||||||
0, 0, 0, 0, 104, 0,
|
114, 0, 16, 0, 0, 0,
|
||||||
0, 2, 1, 0, 0, 0,
|
0, 0, 6, 128, 48, 0,
|
||||||
32, 0, 0, 12, 114, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
6, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
2, 0, 0, 0, 3, 0,
|
2, 64, 0, 0, 1, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
60, 0, 0, 7, 50, 0,
|
3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 60, 0, 0, 7,
|
||||||
|
50, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 150, 5, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
150, 5, 16, 0, 0, 0,
|
31, 0, 4, 3, 10, 0,
|
||||||
0, 0, 70, 0, 16, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 31, 0,
|
41, 0, 0, 7, 18, 0,
|
||||||
4, 3, 10, 0, 16, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 41, 0,
|
10, 16, 16, 0, 0, 0,
|
||||||
0, 7, 18, 0, 16, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
|
8, 0, 0, 0, 85, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
0, 0, 0, 0, 10, 16,
|
0, 0, 0, 0, 10, 16,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
1, 64, 0, 0, 8, 0,
|
1, 64, 0, 0, 8, 0,
|
||||||
0, 0, 85, 0, 0, 7,
|
0, 0, 1, 0, 0, 10,
|
||||||
66, 0, 16, 0, 0, 0,
|
82, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 2, 16, 0,
|
||||||
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 255, 0, 255,
|
||||||
|
0, 0, 0, 0, 255, 0,
|
||||||
|
255, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 18, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 18, 0,
|
||||||
|
0, 1, 54, 0, 0, 5,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 10, 16, 16, 0,
|
0, 0, 10, 16, 16, 0,
|
||||||
|
0, 0, 0, 0, 21, 0,
|
||||||
|
0, 1, 31, 0, 4, 3,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 85, 0, 0, 7,
|
||||||
|
34, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 8, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
1, 0, 0, 10, 82, 0,
|
140, 0, 0, 11, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
6, 2, 16, 0, 0, 0,
|
1, 64, 0, 0, 16, 0,
|
||||||
0, 0, 2, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
0, 255, 0, 255, 0, 0,
|
16, 0, 0, 0, 10, 0,
|
||||||
0, 0, 255, 0, 255, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
26, 0, 16, 0, 0, 0,
|
||||||
0, 0, 18, 0, 0, 1,
|
|
||||||
54, 0, 0, 5, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
10, 16, 16, 0, 0, 0,
|
|
||||||
0, 0, 21, 0, 0, 1,
|
0, 0, 21, 0, 0, 1,
|
||||||
31, 0, 4, 3, 26, 0,
|
0, 0, 0, 7, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
85, 0, 0, 7, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
16, 0, 0, 0, 140, 0,
|
0, 0, 128, 63, 52, 0,
|
||||||
0, 11, 18, 0, 16, 0,
|
0, 9, 18, 0, 16, 0,
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 16, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
21, 0, 0, 1, 0, 0,
|
|
||||||
0, 7, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
1, 64, 0, 0, 0, 0,
|
26, 128, 48, 0, 0, 0,
|
||||||
128, 63, 52, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 51, 0, 0, 9,
|
0, 0, 0, 0, 51, 0,
|
||||||
18, 32, 16, 0, 0, 0,
|
0, 9, 18, 32, 16, 0,
|
||||||
0, 0, 10, 0, 16, 0,
|
0, 0, 0, 0, 10, 0,
|
||||||
0, 0, 0, 0, 42, 128,
|
16, 0, 0, 0, 0, 0,
|
||||||
48, 0, 0, 0, 0, 0,
|
42, 128, 48, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 62, 0, 0, 1,
|
0, 0, 0, 0, 62, 0,
|
||||||
83, 84, 65, 84, 148, 0,
|
0, 1, 83, 84, 65, 84,
|
||||||
0, 0, 18, 0, 0, 0,
|
148, 0, 0, 0, 18, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 4, 0,
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
3, 0, 0, 0, 3, 0,
|
2, 0, 0, 0, 0, 0,
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -677,5 +680,6 @@ const BYTE tessellation_adaptive_vs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,11 +28,11 @@
|
||||||
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
// uint xe_textures_resolved; // Offset: 224 Size: 4 [unused]
|
||||||
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
// float xe_alpha_test_reference; // Offset: 228 Size: 4 [unused]
|
||||||
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
// uint xe_alpha_to_mask; // Offset: 232 Size: 4 [unused]
|
||||||
// uint xe_edram_pitch_tiles; // Offset: 236 Size: 4 [unused]
|
// uint xe_edram_32bpp_tile_pitch_dwords_scaled;// Offset: 236 Size: 4 [unused]
|
||||||
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
// float4 xe_color_exp_bias; // Offset: 240 Size: 16 [unused]
|
||||||
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_front; // Offset: 256 Size: 8 [unused]
|
||||||
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
// float2 xe_edram_poly_offset_back; // Offset: 264 Size: 8 [unused]
|
||||||
// uint xe_edram_depth_base_dwords; // Offset: 272 Size: 4 [unused]
|
// uint xe_edram_depth_base_dwords_scaled;// Offset: 272 Size: 4 [unused]
|
||||||
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
// uint4 xe_edram_stencil[2]; // Offset: 288 Size: 32 [unused]
|
||||||
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
// uint4 xe_edram_rt_base_dwords_scaled;// Offset: 320 Size: 16 [unused]
|
||||||
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
// uint4 xe_edram_rt_format_flags; // Offset: 336 Size: 16 [unused]
|
||||||
|
@ -96,21 +96,21 @@ ret
|
||||||
|
|
||||||
const BYTE tessellation_indexed_vs[] =
|
const BYTE tessellation_indexed_vs[] =
|
||||||
{
|
{
|
||||||
68, 88, 66, 67, 60, 224,
|
68, 88, 66, 67, 6, 210,
|
||||||
57, 68, 167, 116, 52, 132,
|
5, 58, 145, 186, 106, 71,
|
||||||
26, 150, 9, 56, 212, 153,
|
191, 85, 65, 89, 187, 76,
|
||||||
92, 66, 1, 0, 0, 0,
|
25, 50, 1, 0, 0, 0,
|
||||||
228, 13, 0, 0, 5, 0,
|
248, 13, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0,
|
0, 0, 52, 0, 0, 0,
|
||||||
164, 10, 0, 0, 216, 10,
|
184, 10, 0, 0, 236, 10,
|
||||||
0, 0, 12, 11, 0, 0,
|
0, 0, 32, 11, 0, 0,
|
||||||
72, 13, 0, 0, 82, 68,
|
92, 13, 0, 0, 82, 68,
|
||||||
69, 70, 104, 10, 0, 0,
|
69, 70, 124, 10, 0, 0,
|
||||||
1, 0, 0, 0, 120, 0,
|
1, 0, 0, 0, 120, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
60, 0, 0, 0, 1, 5,
|
60, 0, 0, 0, 1, 5,
|
||||||
254, 255, 0, 5, 4, 0,
|
254, 255, 0, 5, 4, 0,
|
||||||
62, 10, 0, 0, 19, 19,
|
82, 10, 0, 0, 19, 19,
|
||||||
68, 37, 60, 0, 0, 0,
|
68, 37, 60, 0, 0, 0,
|
||||||
24, 0, 0, 0, 40, 0,
|
24, 0, 0, 0, 40, 0,
|
||||||
0, 0, 40, 0, 0, 0,
|
0, 0, 40, 0, 0, 0,
|
||||||
|
@ -270,76 +270,76 @@ const BYTE tessellation_indexed_vs[] =
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
119, 8, 0, 0, 240, 0,
|
138, 8, 0, 0, 240, 0,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 140, 8,
|
0, 0, 0, 0, 156, 8,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 176, 8,
|
0, 0, 0, 0, 192, 8,
|
||||||
0, 0, 0, 1, 0, 0,
|
0, 0, 0, 1, 0, 0,
|
||||||
8, 0, 0, 0, 0, 0,
|
8, 0, 0, 0, 0, 0,
|
||||||
0, 0, 232, 5, 0, 0,
|
0, 0, 232, 5, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 203, 8, 0, 0,
|
0, 0, 219, 8, 0, 0,
|
||||||
8, 1, 0, 0, 8, 0,
|
8, 1, 0, 0, 8, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
232, 5, 0, 0, 0, 0,
|
232, 5, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
229, 8, 0, 0, 16, 1,
|
245, 8, 0, 0, 16, 1,
|
||||||
0, 0, 4, 0, 0, 0,
|
0, 0, 4, 0, 0, 0,
|
||||||
0, 0, 0, 0, 160, 5,
|
0, 0, 0, 0, 160, 5,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 0, 9,
|
0, 0, 0, 0, 23, 9,
|
||||||
0, 0, 32, 1, 0, 0,
|
0, 0, 32, 1, 0, 0,
|
||||||
32, 0, 0, 0, 0, 0,
|
32, 0, 0, 0, 0, 0,
|
||||||
0, 0, 20, 9, 0, 0,
|
0, 0, 40, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 56, 9, 0, 0,
|
0, 0, 76, 9, 0, 0,
|
||||||
64, 1, 0, 0, 16, 0,
|
64, 1, 0, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
88, 9, 0, 0, 0, 0,
|
108, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
124, 9, 0, 0, 80, 1,
|
144, 9, 0, 0, 80, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 149, 9,
|
0, 0, 0, 0, 169, 9,
|
||||||
0, 0, 96, 1, 0, 0,
|
0, 0, 96, 1, 0, 0,
|
||||||
64, 0, 0, 0, 0, 0,
|
64, 0, 0, 0, 0, 0,
|
||||||
0, 0, 168, 9, 0, 0,
|
0, 0, 188, 9, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 204, 9, 0, 0,
|
0, 0, 224, 9, 0, 0,
|
||||||
160, 1, 0, 0, 32, 0,
|
160, 1, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
228, 9, 0, 0, 0, 0,
|
248, 9, 0, 0, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
8, 10, 0, 0, 192, 1,
|
28, 10, 0, 0, 192, 1,
|
||||||
0, 0, 16, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 88, 9,
|
0, 0, 0, 0, 108, 9,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
0, 0, 255, 255, 255, 255,
|
0, 0, 255, 255, 255, 255,
|
||||||
0, 0, 0, 0, 38, 10,
|
0, 0, 0, 0, 58, 10,
|
||||||
0, 0, 208, 1, 0, 0,
|
0, 0, 208, 1, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 140, 8, 0, 0,
|
0, 0, 156, 8, 0, 0,
|
||||||
0, 0, 0, 0, 255, 255,
|
0, 0, 0, 0, 255, 255,
|
||||||
255, 255, 0, 0, 0, 0,
|
255, 255, 0, 0, 0, 0,
|
||||||
255, 255, 255, 255, 0, 0,
|
255, 255, 255, 255, 0, 0,
|
||||||
|
@ -465,34 +465,72 @@ const BYTE tessellation_indexed_vs[] =
|
||||||
97, 95, 116, 111, 95, 109,
|
97, 95, 116, 111, 95, 109,
|
||||||
97, 115, 107, 0, 120, 101,
|
97, 115, 107, 0, 120, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
95, 101, 100, 114, 97, 109,
|
||||||
95, 112, 105, 116, 99, 104,
|
95, 51, 50, 98, 112, 112,
|
||||||
95, 116, 105, 108, 101, 115,
|
95, 116, 105, 108, 101, 95,
|
||||||
0, 120, 101, 95, 99, 111,
|
112, 105, 116, 99, 104, 95,
|
||||||
108, 111, 114, 95, 101, 120,
|
100, 119, 111, 114, 100, 115,
|
||||||
112, 95, 98, 105, 97, 115,
|
95, 115, 99, 97, 108, 101,
|
||||||
0, 171, 171, 171, 1, 0,
|
100, 0, 120, 101, 95, 99,
|
||||||
3, 0, 1, 0, 4, 0,
|
111, 108, 111, 114, 95, 101,
|
||||||
|
120, 112, 95, 98, 105, 97,
|
||||||
|
115, 0, 1, 0, 3, 0,
|
||||||
|
1, 0, 4, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 172, 6,
|
||||||
172, 6, 0, 0, 120, 101,
|
0, 0, 120, 101, 95, 101,
|
||||||
95, 101, 100, 114, 97, 109,
|
100, 114, 97, 109, 95, 112,
|
||||||
95, 112, 111, 108, 121, 95,
|
111, 108, 121, 95, 111, 102,
|
||||||
111, 102, 102, 115, 101, 116,
|
102, 115, 101, 116, 95, 102,
|
||||||
95, 102, 114, 111, 110, 116,
|
114, 111, 110, 116, 0, 120,
|
||||||
|
101, 95, 101, 100, 114, 97,
|
||||||
|
109, 95, 112, 111, 108, 121,
|
||||||
|
95, 111, 102, 102, 115, 101,
|
||||||
|
116, 95, 98, 97, 99, 107,
|
||||||
0, 120, 101, 95, 101, 100,
|
0, 120, 101, 95, 101, 100,
|
||||||
114, 97, 109, 95, 112, 111,
|
114, 97, 109, 95, 100, 101,
|
||||||
108, 121, 95, 111, 102, 102,
|
112, 116, 104, 95, 98, 97,
|
||||||
115, 101, 116, 95, 98, 97,
|
115, 101, 95, 100, 119, 111,
|
||||||
99, 107, 0, 120, 101, 95,
|
114, 100, 115, 95, 115, 99,
|
||||||
101, 100, 114, 97, 109, 95,
|
97, 108, 101, 100, 0, 120,
|
||||||
100, 101, 112, 116, 104, 95,
|
101, 95, 101, 100, 114, 97,
|
||||||
98, 97, 115, 101, 95, 100,
|
109, 95, 115, 116, 101, 110,
|
||||||
119, 111, 114, 100, 115, 0,
|
99, 105, 108, 0, 1, 0,
|
||||||
|
19, 0, 1, 0, 4, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
247, 7, 0, 0, 120, 101,
|
||||||
|
95, 101, 100, 114, 97, 109,
|
||||||
|
95, 114, 116, 95, 98, 97,
|
||||||
|
115, 101, 95, 100, 119, 111,
|
||||||
|
114, 100, 115, 95, 115, 99,
|
||||||
|
97, 108, 101, 100, 0, 171,
|
||||||
|
1, 0, 19, 0, 1, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 247, 7, 0, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
120, 101, 95, 101, 100, 114,
|
||||||
97, 109, 95, 115, 116, 101,
|
97, 109, 95, 114, 116, 95,
|
||||||
110, 99, 105, 108, 0, 171,
|
102, 111, 114, 109, 97, 116,
|
||||||
|
95, 102, 108, 97, 103, 115,
|
||||||
|
0, 120, 101, 95, 101, 100,
|
||||||
|
114, 97, 109, 95, 114, 116,
|
||||||
|
95, 99, 108, 97, 109, 112,
|
||||||
|
0, 171, 1, 0, 3, 0,
|
||||||
|
1, 0, 4, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 172, 6,
|
||||||
|
0, 0, 120, 101, 95, 101,
|
||||||
|
100, 114, 97, 109, 95, 114,
|
||||||
|
116, 95, 107, 101, 101, 112,
|
||||||
|
95, 109, 97, 115, 107, 0,
|
||||||
171, 171, 1, 0, 19, 0,
|
171, 171, 1, 0, 19, 0,
|
||||||
1, 0, 4, 0, 2, 0,
|
1, 0, 4, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -501,184 +539,149 @@ const BYTE tessellation_indexed_vs[] =
|
||||||
0, 0, 0, 0, 247, 7,
|
0, 0, 0, 0, 247, 7,
|
||||||
0, 0, 120, 101, 95, 101,
|
0, 0, 120, 101, 95, 101,
|
||||||
100, 114, 97, 109, 95, 114,
|
100, 114, 97, 109, 95, 114,
|
||||||
116, 95, 98, 97, 115, 101,
|
116, 95, 98, 108, 101, 110,
|
||||||
95, 100, 119, 111, 114, 100,
|
100, 95, 102, 97, 99, 116,
|
||||||
115, 95, 115, 99, 97, 108,
|
111, 114, 115, 95, 111, 112,
|
||||||
101, 100, 0, 171, 1, 0,
|
115, 0, 120, 101, 95, 101,
|
||||||
19, 0, 1, 0, 4, 0,
|
100, 114, 97, 109, 95, 98,
|
||||||
0, 0, 0, 0, 0, 0,
|
108, 101, 110, 100, 95, 99,
|
||||||
0, 0, 0, 0, 0, 0,
|
111, 110, 115, 116, 97, 110,
|
||||||
0, 0, 0, 0, 0, 0,
|
116, 0, 77, 105, 99, 114,
|
||||||
0, 0, 0, 0, 0, 0,
|
111, 115, 111, 102, 116, 32,
|
||||||
247, 7, 0, 0, 120, 101,
|
40, 82, 41, 32, 72, 76,
|
||||||
95, 101, 100, 114, 97, 109,
|
83, 76, 32, 83, 104, 97,
|
||||||
95, 114, 116, 95, 102, 111,
|
100, 101, 114, 32, 67, 111,
|
||||||
114, 109, 97, 116, 95, 102,
|
109, 112, 105, 108, 101, 114,
|
||||||
108, 97, 103, 115, 0, 120,
|
32, 49, 48, 46, 49, 0,
|
||||||
101, 95, 101, 100, 114, 97,
|
171, 171, 73, 83, 71, 78,
|
||||||
109, 95, 114, 116, 95, 99,
|
44, 0, 0, 0, 1, 0,
|
||||||
108, 97, 109, 112, 0, 171,
|
0, 0, 8, 0, 0, 0,
|
||||||
1, 0, 3, 0, 1, 0,
|
32, 0, 0, 0, 0, 0,
|
||||||
4, 0, 4, 0, 0, 0,
|
0, 0, 6, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
83, 86, 95, 86, 101, 114,
|
||||||
0, 0, 172, 6, 0, 0,
|
116, 101, 120, 73, 68, 0,
|
||||||
120, 101, 95, 101, 100, 114,
|
79, 83, 71, 78, 44, 0,
|
||||||
97, 109, 95, 114, 116, 95,
|
|
||||||
107, 101, 101, 112, 95, 109,
|
|
||||||
97, 115, 107, 0, 171, 171,
|
|
||||||
1, 0, 19, 0, 1, 0,
|
|
||||||
4, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 247, 7, 0, 0,
|
|
||||||
120, 101, 95, 101, 100, 114,
|
|
||||||
97, 109, 95, 114, 116, 95,
|
|
||||||
98, 108, 101, 110, 100, 95,
|
|
||||||
102, 97, 99, 116, 111, 114,
|
|
||||||
115, 95, 111, 112, 115, 0,
|
|
||||||
120, 101, 95, 101, 100, 114,
|
|
||||||
97, 109, 95, 98, 108, 101,
|
|
||||||
110, 100, 95, 99, 111, 110,
|
|
||||||
115, 116, 97, 110, 116, 0,
|
|
||||||
77, 105, 99, 114, 111, 115,
|
|
||||||
111, 102, 116, 32, 40, 82,
|
|
||||||
41, 32, 72, 76, 83, 76,
|
|
||||||
32, 83, 104, 97, 100, 101,
|
|
||||||
114, 32, 67, 111, 109, 112,
|
|
||||||
105, 108, 101, 114, 32, 49,
|
|
||||||
48, 46, 49, 0, 171, 171,
|
|
||||||
73, 83, 71, 78, 44, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
8, 0, 0, 0, 32, 0,
|
8, 0, 0, 0, 32, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
6, 0, 0, 0, 1, 0,
|
0, 0, 0, 0, 3, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 1, 0, 0, 83, 86,
|
1, 14, 0, 0, 88, 69,
|
||||||
95, 86, 101, 114, 116, 101,
|
86, 69, 82, 84, 69, 88,
|
||||||
120, 73, 68, 0, 79, 83,
|
73, 68, 0, 171, 83, 72,
|
||||||
71, 78, 44, 0, 0, 0,
|
69, 88, 52, 2, 0, 0,
|
||||||
1, 0, 0, 0, 8, 0,
|
81, 0, 1, 0, 141, 0,
|
||||||
0, 0, 32, 0, 0, 0,
|
0, 0, 106, 8, 0, 1,
|
||||||
|
89, 0, 0, 7, 70, 142,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 14,
|
|
||||||
0, 0, 88, 69, 86, 69,
|
|
||||||
82, 84, 69, 88, 73, 68,
|
|
||||||
0, 171, 83, 72, 69, 88,
|
|
||||||
52, 2, 0, 0, 81, 0,
|
|
||||||
1, 0, 141, 0, 0, 0,
|
|
||||||
106, 8, 0, 1, 89, 0,
|
|
||||||
0, 7, 70, 142, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 96, 0, 0, 4,
|
|
||||||
18, 16, 16, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 0, 0,
|
|
||||||
101, 0, 0, 3, 18, 32,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
104, 0, 0, 2, 1, 0,
|
|
||||||
0, 0, 32, 0, 0, 12,
|
|
||||||
114, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 6, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 1, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
3, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 96, 0,
|
||||||
0, 0, 60, 0, 0, 7,
|
0, 4, 18, 16, 16, 0,
|
||||||
50, 0, 16, 0, 0, 0,
|
0, 0, 0, 0, 6, 0,
|
||||||
0, 0, 150, 5, 16, 0,
|
0, 0, 101, 0, 0, 3,
|
||||||
0, 0, 0, 0, 70, 0,
|
18, 32, 16, 0, 0, 0,
|
||||||
|
0, 0, 104, 0, 0, 2,
|
||||||
|
1, 0, 0, 0, 32, 0,
|
||||||
|
0, 12, 114, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 6, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 60, 0,
|
||||||
|
0, 7, 50, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 150, 5,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
31, 0, 4, 3, 10, 0,
|
70, 0, 16, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 31, 0, 4, 3,
|
||||||
41, 0, 0, 7, 18, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 16, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
85, 0, 0, 7, 66, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 16, 16, 0, 0, 0,
|
10, 16, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
8, 0, 0, 0, 85, 0,
|
8, 0, 0, 0, 1, 0,
|
||||||
0, 7, 66, 0, 16, 0,
|
0, 10, 82, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 6, 2,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 255,
|
||||||
|
0, 255, 0, 0, 0, 0,
|
||||||
|
255, 0, 255, 0, 0, 0,
|
||||||
|
0, 0, 30, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
18, 0, 0, 1, 54, 0,
|
||||||
|
0, 5, 18, 0, 16, 0,
|
||||||
0, 0, 0, 0, 10, 16,
|
0, 0, 0, 0, 10, 16,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
1, 64, 0, 0, 8, 0,
|
21, 0, 0, 1, 31, 0,
|
||||||
0, 0, 1, 0, 0, 10,
|
4, 3, 26, 0, 16, 0,
|
||||||
82, 0, 16, 0, 0, 0,
|
0, 0, 0, 0, 85, 0,
|
||||||
0, 0, 6, 2, 16, 0,
|
0, 7, 34, 0, 16, 0,
|
||||||
0, 0, 0, 0, 2, 64,
|
0, 0, 0, 0, 10, 0,
|
||||||
0, 0, 0, 255, 0, 255,
|
|
||||||
0, 0, 0, 0, 255, 0,
|
|
||||||
255, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 18, 0,
|
|
||||||
0, 1, 54, 0, 0, 5,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 16, 16, 0,
|
|
||||||
0, 0, 0, 0, 21, 0,
|
|
||||||
0, 1, 31, 0, 4, 3,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 85, 0, 0, 7,
|
|
||||||
34, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
140, 0, 0, 11, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
1, 64, 0, 0, 16, 0,
|
1, 64, 0, 0, 16, 0,
|
||||||
|
0, 0, 140, 0, 0, 11,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 1, 64, 0, 0,
|
||||||
16, 0, 0, 0, 10, 0,
|
16, 0, 0, 0, 1, 64,
|
||||||
16, 0, 0, 0, 0, 0,
|
0, 0, 16, 0, 0, 0,
|
||||||
26, 0, 16, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 21, 0, 0, 1,
|
0, 0, 26, 0, 16, 0,
|
||||||
30, 0, 0, 9, 18, 0,
|
0, 0, 0, 0, 21, 0,
|
||||||
|
0, 1, 30, 0, 0, 9,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 1, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 255, 255, 255, 0,
|
||||||
|
83, 0, 0, 9, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 26, 128, 48, 0,
|
0, 0, 42, 128, 48, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
1, 0, 0, 7, 18, 0,
|
84, 0, 0, 9, 18, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
10, 0, 16, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 1, 64, 0, 0,
|
0, 0, 58, 128, 48, 0,
|
||||||
255, 255, 255, 0, 83, 0,
|
|
||||||
0, 9, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 84, 0,
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 9, 18, 0, 16, 0,
|
86, 0, 0, 5, 18, 32,
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
16, 0, 0, 0, 0, 0,
|
||||||
58, 128, 48, 0, 0, 0,
|
10, 0, 16, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 62, 0, 0, 1,
|
||||||
1, 0, 0, 0, 86, 0,
|
83, 84, 65, 84, 148, 0,
|
||||||
0, 5, 18, 32, 16, 0,
|
0, 0, 20, 0, 0, 0,
|
||||||
0, 0, 0, 0, 10, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
62, 0, 0, 1, 83, 84,
|
|
||||||
65, 84, 148, 0, 0, 0,
|
|
||||||
20, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
7, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 7, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 2, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
|
@ -688,5 +691,5 @@ const BYTE tessellation_indexed_vs[] =
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0
|
0, 0, 0, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,977 @@
|
||||||
|
#if 0
|
||||||
|
//
|
||||||
|
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Buffer Definitions:
|
||||||
|
//
|
||||||
|
// cbuffer XeTextureLoadConstants
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4
|
||||||
|
// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4
|
||||||
|
// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4
|
||||||
|
// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4
|
||||||
|
// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12
|
||||||
|
// uint xe_texture_load_host_offset; // Offset: 28 Size: 4
|
||||||
|
// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4
|
||||||
|
// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused]
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Resource Bindings:
|
||||||
|
//
|
||||||
|
// Name Type Format Dim ID HLSL Bind Count
|
||||||
|
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||||
|
// xe_texture_load_source texture uint4 buf T0 t0 1
|
||||||
|
// xe_texture_load_dest UAV uint4 buf U0 u0 1
|
||||||
|
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Input signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// no Input
|
||||||
|
//
|
||||||
|
// Output signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// no Output
|
||||||
|
cs_5_1
|
||||||
|
dcl_globalFlags refactoringAllowed
|
||||||
|
dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0
|
||||||
|
dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0
|
||||||
|
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
||||||
|
dcl_input vThreadID.xyz
|
||||||
|
dcl_temps 6
|
||||||
|
dcl_thread_group 2, 32, 1
|
||||||
|
ishl r0.x, vThreadID.x, l(4)
|
||||||
|
mov r0.yz, vThreadID.yyzy
|
||||||
|
uge r0.yzw, r0.xxyz, CB0[0][1].xxyz
|
||||||
|
or r0.y, r0.z, r0.y
|
||||||
|
or r0.y, r0.w, r0.y
|
||||||
|
if_nz r0.y
|
||||||
|
ret
|
||||||
|
endif
|
||||||
|
ishl r0.y, r0.x, l(1)
|
||||||
|
imad r0.z, vThreadID.z, CB0[0][1].y, vThreadID.y
|
||||||
|
imad r0.y, r0.z, CB0[0][2].x, r0.y
|
||||||
|
iadd r0.y, r0.y, CB0[0][1].w
|
||||||
|
and r0.z, CB0[0][0].x, l(2)
|
||||||
|
ubfe r1.xyz, l(2, 2, 2, 0), l(4, 6, 2, 0), CB0[0][0].xxxx
|
||||||
|
ushr r2.x, r0.x, l(3)
|
||||||
|
mov r2.y, vThreadID.y
|
||||||
|
udiv r0.xw, null, r2.xxxy, r1.xxxy
|
||||||
|
if_nz r0.z
|
||||||
|
ishr r2.zw, r0.wwww, l(0, 0, 4, 3)
|
||||||
|
ishr r0.z, vThreadID.z, l(2)
|
||||||
|
ushr r3.xy, CB0[0][0].wzww, l(4, 5, 0, 0)
|
||||||
|
imad r1.w, r0.z, r3.x, r2.z
|
||||||
|
ibfe r3.xz, l(27, 0, 29, 0), l(2, 0, 0, 0), r0.xxxx
|
||||||
|
imad r1.w, r1.w, r3.y, r3.x
|
||||||
|
ishl r2.z, r0.w, l(9)
|
||||||
|
ishr r2.z, r2.z, l(6)
|
||||||
|
and r2.z, r2.z, l(48)
|
||||||
|
iadd r0.z, r0.z, r2.w
|
||||||
|
bfi r2.w, l(1), l(1), r0.z, l(0)
|
||||||
|
iadd r2.w, r2.w, r3.z
|
||||||
|
bfi r2.w, l(2), l(1), r2.w, l(0)
|
||||||
|
bfi r0.z, l(1), l(0), r0.z, r2.w
|
||||||
|
bfi r3.xy, l(21, 21, 0, 0), l(9, 12, 0, 0), r1.wwww, l(0, 0, 0, 0)
|
||||||
|
imad r2.zw, r2.zzzz, l(0, 0, 2, 16), r3.xxxy
|
||||||
|
bfi r2.zw, l(0, 0, 2, 2), l(0, 0, 7, 10), vThreadID.zzzz, r2.zzzw
|
||||||
|
bfi r1.w, l(1), l(4), r0.w, l(0)
|
||||||
|
ubfe r3.x, l(3), l(6), r2.z
|
||||||
|
and r3.y, r0.z, l(6)
|
||||||
|
bfi r0.z, l(1), l(8), r0.z, l(0)
|
||||||
|
imad r0.z, r3.x, l(32), r0.z
|
||||||
|
imad r0.z, r3.y, l(4), r0.z
|
||||||
|
bfi r2.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r1.wwww, r2.zzzw
|
||||||
|
bfi r0.z, l(9), l(3), r0.z, r2.w
|
||||||
|
bfi r0.z, l(6), l(0), r2.z, r0.z
|
||||||
|
else
|
||||||
|
ibfe r2.zw, l(0, 0, 27, 29), l(0, 0, 2, 0), r0.xxxx
|
||||||
|
ishr r3.xy, r0.wwww, l(5, 2, 0, 0)
|
||||||
|
ushr r1.w, CB0[0][0].z, l(5)
|
||||||
|
imad r1.w, r3.x, r1.w, r2.z
|
||||||
|
bfi r3.xzw, l(4, 0, 4, 4), l(4, 0, 7, 6), r0.wwww, l(0, 0, 0, 0)
|
||||||
|
bfi r3.xzw, l(24, 0, 24, 24), l(8, 0, 11, 10), r1.wwww, r3.xxzw
|
||||||
|
ishl r1.w, r0.w, l(7)
|
||||||
|
and r1.w, r1.w, l(2048)
|
||||||
|
bfi r1.w, l(12), l(0), r1.w, r3.z
|
||||||
|
and r2.z, r3.w, l(1792)
|
||||||
|
iadd r1.w, r1.w, r2.z
|
||||||
|
and r2.z, r3.y, l(2)
|
||||||
|
iadd r2.z, r2.w, r2.z
|
||||||
|
bfi r2.z, l(2), l(6), r2.z, l(0)
|
||||||
|
iadd r1.w, r1.w, r2.z
|
||||||
|
bfi r0.z, l(6), l(0), r3.x, r1.w
|
||||||
|
endif
|
||||||
|
imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy
|
||||||
|
imul null, r1.w, r1.y, r1.x
|
||||||
|
imad r0.x, r0.x, r1.y, r0.w
|
||||||
|
ishl r0.x, r0.x, l(4)
|
||||||
|
imad r0.x, r0.z, r1.w, r0.x
|
||||||
|
iadd r0.x, r0.x, CB0[0][0].y
|
||||||
|
ushr r0.xy, r0.xyxx, l(4, 4, 0, 0)
|
||||||
|
ld r3.xyzw, r0.xxxx, T0[0].xyzw
|
||||||
|
ieq r0.z, r1.z, l(1)
|
||||||
|
if_nz r0.z
|
||||||
|
ishl r4.xyzw, r3.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r4.xyzw, r4.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
|
||||||
|
ushr r5.xyzw, r3.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r5.xyzw, r5.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff)
|
||||||
|
iadd r3.xyzw, r4.xyzw, r5.xyzw
|
||||||
|
endif
|
||||||
|
store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw
|
||||||
|
iadd r0.w, r0.y, l(1)
|
||||||
|
ult r1.z, l(1), r1.x
|
||||||
|
if_nz r1.z
|
||||||
|
udiv r1.z, null, r2.x, r1.x
|
||||||
|
imad r1.z, -r1.z, r1.x, r2.x
|
||||||
|
iadd r1.w, r1.z, l(1)
|
||||||
|
ieq r1.w, r1.x, r1.w
|
||||||
|
if_nz r1.w
|
||||||
|
ishl r1.x, r1.x, l(6)
|
||||||
|
ishl r1.z, r1.z, l(4)
|
||||||
|
iadd r1.x, -r1.z, r1.x
|
||||||
|
else
|
||||||
|
mov r1.x, l(16)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
mov r1.x, l(64)
|
||||||
|
endif
|
||||||
|
imul null, r1.x, r1.y, r1.x
|
||||||
|
ushr r1.x, r1.x, l(4)
|
||||||
|
iadd r0.x, r0.x, r1.x
|
||||||
|
ld r1.xyzw, r0.xxxx, T0[0].xyzw
|
||||||
|
if_nz r0.z
|
||||||
|
ishl r2.xyzw, r1.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r2.xyzw, r2.xyzw, l(0xff00ff00, 0xff00ff00, 0xff00ff00, 0xff00ff00)
|
||||||
|
ushr r3.xyzw, r1.xyzw, l(8, 8, 8, 8)
|
||||||
|
and r3.xyzw, r3.xyzw, l(0x00ff00ff, 0x00ff00ff, 0x00ff00ff, 0x00ff00ff)
|
||||||
|
iadd r1.xyzw, r2.xyzw, r3.xyzw
|
||||||
|
endif
|
||||||
|
store_uav_typed U0[0].xyzw, r0.wwww, r1.xyzw
|
||||||
|
ret
|
||||||
|
// Approximately 109 instruction slots used
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const BYTE texture_load_16bpb_scaled_cs[] =
|
||||||
|
{
|
||||||
|
68, 88, 66, 67, 81, 210,
|
||||||
|
211, 210, 188, 152, 146, 59,
|
||||||
|
242, 122, 231, 17, 215, 172,
|
||||||
|
246, 100, 1, 0, 0, 0,
|
||||||
|
0, 19, 0, 0, 5, 0,
|
||||||
|
0, 0, 52, 0, 0, 0,
|
||||||
|
28, 4, 0, 0, 44, 4,
|
||||||
|
0, 0, 60, 4, 0, 0,
|
||||||
|
100, 18, 0, 0, 82, 68,
|
||||||
|
69, 70, 224, 3, 0, 0,
|
||||||
|
1, 0, 0, 0, 248, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
60, 0, 0, 0, 1, 5,
|
||||||
|
83, 67, 0, 5, 4, 0,
|
||||||
|
181, 3, 0, 0, 19, 19,
|
||||||
|
68, 37, 60, 0, 0, 0,
|
||||||
|
24, 0, 0, 0, 40, 0,
|
||||||
|
0, 0, 40, 0, 0, 0,
|
||||||
|
36, 0, 0, 0, 12, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
180, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 12, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 203, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 224, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
120, 101, 95, 116, 101, 120,
|
||||||
|
116, 117, 114, 101, 95, 108,
|
||||||
|
111, 97, 100, 95, 115, 111,
|
||||||
|
117, 114, 99, 101, 0, 120,
|
||||||
|
101, 95, 116, 101, 120, 116,
|
||||||
|
117, 114, 101, 95, 108, 111,
|
||||||
|
97, 100, 95, 100, 101, 115,
|
||||||
|
116, 0, 88, 101, 84, 101,
|
||||||
|
120, 116, 117, 114, 101, 76,
|
||||||
|
111, 97, 100, 67, 111, 110,
|
||||||
|
115, 116, 97, 110, 116, 115,
|
||||||
|
0, 171, 224, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 16, 1,
|
||||||
|
0, 0, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 80, 2, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
128, 2, 0, 0, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
164, 2, 0, 0, 4, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 128, 2,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 193, 2,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 128, 2, 0, 0,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 229, 2, 0, 0,
|
||||||
|
12, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
128, 2, 0, 0, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
23, 3, 0, 0, 16, 0,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 60, 3,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 96, 3,
|
||||||
|
0, 0, 28, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 128, 2, 0, 0,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 124, 3, 0, 0,
|
||||||
|
32, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
128, 2, 0, 0, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
151, 3, 0, 0, 36, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 128, 2,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 120, 101,
|
||||||
|
95, 116, 101, 120, 116, 117,
|
||||||
|
114, 101, 95, 108, 111, 97,
|
||||||
|
100, 95, 105, 115, 95, 116,
|
||||||
|
105, 108, 101, 100, 95, 51,
|
||||||
|
100, 95, 101, 110, 100, 105,
|
||||||
|
97, 110, 95, 115, 99, 97,
|
||||||
|
108, 101, 0, 100, 119, 111,
|
||||||
|
114, 100, 0, 171, 0, 0,
|
||||||
|
19, 0, 1, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
121, 2, 0, 0, 120, 101,
|
||||||
|
95, 116, 101, 120, 116, 117,
|
||||||
|
114, 101, 95, 108, 111, 97,
|
||||||
|
100, 95, 103, 117, 101, 115,
|
||||||
|
116, 95, 111, 102, 102, 115,
|
||||||
|
101, 116, 0, 120, 101, 95,
|
||||||
|
116, 101, 120, 116, 117, 114,
|
||||||
|
101, 95, 108, 111, 97, 100,
|
||||||
|
95, 103, 117, 101, 115, 116,
|
||||||
|
95, 112, 105, 116, 99, 104,
|
||||||
|
95, 97, 108, 105, 103, 110,
|
||||||
|
101, 100, 0, 120, 101, 95,
|
||||||
|
116, 101, 120, 116, 117, 114,
|
||||||
|
101, 95, 108, 111, 97, 100,
|
||||||
|
95, 103, 117, 101, 115, 116,
|
||||||
|
95, 122, 95, 115, 116, 114,
|
||||||
|
105, 100, 101, 95, 98, 108,
|
||||||
|
111, 99, 107, 95, 114, 111,
|
||||||
|
119, 115, 95, 97, 108, 105,
|
||||||
|
103, 110, 101, 100, 0, 120,
|
||||||
|
101, 95, 116, 101, 120, 116,
|
||||||
|
117, 114, 101, 95, 108, 111,
|
||||||
|
97, 100, 95, 115, 105, 122,
|
||||||
|
101, 95, 98, 108, 111, 99,
|
||||||
|
107, 115, 0, 117, 105, 110,
|
||||||
|
116, 51, 0, 171, 171, 171,
|
||||||
|
1, 0, 19, 0, 1, 0,
|
||||||
|
3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 51, 3, 0, 0,
|
||||||
|
120, 101, 95, 116, 101, 120,
|
||||||
|
116, 117, 114, 101, 95, 108,
|
||||||
|
111, 97, 100, 95, 104, 111,
|
||||||
|
115, 116, 95, 111, 102, 102,
|
||||||
|
115, 101, 116, 0, 120, 101,
|
||||||
|
95, 116, 101, 120, 116, 117,
|
||||||
|
114, 101, 95, 108, 111, 97,
|
||||||
|
100, 95, 104, 111, 115, 116,
|
||||||
|
95, 112, 105, 116, 99, 104,
|
||||||
|
0, 120, 101, 95, 116, 101,
|
||||||
|
120, 116, 117, 114, 101, 95,
|
||||||
|
108, 111, 97, 100, 95, 104,
|
||||||
|
101, 105, 103, 104, 116, 95,
|
||||||
|
116, 101, 120, 101, 108, 115,
|
||||||
|
0, 77, 105, 99, 114, 111,
|
||||||
|
115, 111, 102, 116, 32, 40,
|
||||||
|
82, 41, 32, 72, 76, 83,
|
||||||
|
76, 32, 83, 104, 97, 100,
|
||||||
|
101, 114, 32, 67, 111, 109,
|
||||||
|
112, 105, 108, 101, 114, 32,
|
||||||
|
49, 48, 46, 49, 0, 171,
|
||||||
|
171, 171, 73, 83, 71, 78,
|
||||||
|
8, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
79, 83, 71, 78, 8, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 83, 72,
|
||||||
|
69, 88, 32, 14, 0, 0,
|
||||||
|
81, 0, 5, 0, 136, 3,
|
||||||
|
0, 0, 106, 8, 0, 1,
|
||||||
|
89, 0, 0, 7, 70, 142,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 88, 8,
|
||||||
|
0, 7, 70, 126, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
68, 68, 0, 0, 0, 0,
|
||||||
|
0, 0, 156, 8, 0, 7,
|
||||||
|
70, 238, 49, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 68, 68,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
95, 0, 0, 2, 114, 0,
|
||||||
|
2, 0, 104, 0, 0, 2,
|
||||||
|
6, 0, 0, 0, 155, 0,
|
||||||
|
0, 4, 2, 0, 0, 0,
|
||||||
|
32, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 41, 0, 0, 6,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 2, 0,
|
||||||
|
1, 64, 0, 0, 4, 0,
|
||||||
|
0, 0, 54, 0, 0, 4,
|
||||||
|
98, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 86, 6, 2, 0,
|
||||||
|
80, 0, 0, 9, 226, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
6, 9, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 137, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
60, 0, 0, 7, 34, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 60, 0,
|
||||||
|
0, 7, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 31, 0, 4, 3,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 62, 0, 0, 1,
|
||||||
|
21, 0, 0, 1, 41, 0,
|
||||||
|
0, 7, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 1, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 2, 0,
|
||||||
|
26, 128, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 26, 0,
|
||||||
|
2, 0, 35, 0, 0, 11,
|
||||||
|
34, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 30, 0,
|
||||||
|
0, 9, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
58, 128, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 1, 0,
|
||||||
|
0, 9, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 138, 0,
|
||||||
|
0, 17, 114, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 4, 0,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 6, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
85, 0, 0, 7, 18, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
3, 0, 0, 0, 54, 0,
|
||||||
|
0, 4, 34, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 26, 0,
|
||||||
|
2, 0, 78, 0, 0, 8,
|
||||||
|
146, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 0, 208, 0, 0,
|
||||||
|
6, 4, 16, 0, 2, 0,
|
||||||
|
0, 0, 6, 4, 16, 0,
|
||||||
|
1, 0, 0, 0, 31, 0,
|
||||||
|
4, 3, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
0, 10, 194, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 246, 15,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 3, 0,
|
||||||
|
0, 0, 42, 0, 0, 6,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 2, 0,
|
||||||
|
1, 64, 0, 0, 2, 0,
|
||||||
|
0, 0, 85, 0, 0, 12,
|
||||||
|
50, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 182, 143, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 4, 0,
|
||||||
|
0, 0, 5, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
130, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 139, 0, 0, 15,
|
||||||
|
82, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
27, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 29, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
6, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
130, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 9, 0, 0, 0,
|
||||||
|
42, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
6, 0, 0, 0, 1, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 48, 0,
|
||||||
|
0, 0, 30, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
140, 0, 0, 11, 130, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 1, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 30, 0, 0, 7,
|
||||||
|
130, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
140, 0, 0, 11, 130, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 2, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 140, 0, 0, 11,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 140, 0,
|
||||||
|
0, 20, 50, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 21, 0, 0, 0,
|
||||||
|
21, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 9, 0,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 246, 15, 16, 0,
|
||||||
|
1, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
35, 0, 0, 12, 194, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
166, 10, 16, 0, 2, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
16, 0, 0, 0, 6, 4,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
140, 0, 0, 16, 194, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 7, 0, 0, 0,
|
||||||
|
10, 0, 0, 0, 166, 10,
|
||||||
|
2, 0, 166, 14, 16, 0,
|
||||||
|
2, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 130, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 4, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
138, 0, 0, 9, 18, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 3, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
6, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
1, 0, 0, 7, 34, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
6, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 8, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
35, 0, 0, 9, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
32, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
35, 0, 0, 9, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
4, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
140, 0, 0, 17, 194, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
5, 0, 0, 0, 5, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 246, 15,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
166, 14, 16, 0, 2, 0,
|
||||||
|
0, 0, 140, 0, 0, 11,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
9, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
18, 0, 0, 1, 139, 0,
|
||||||
|
0, 15, 194, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 27, 0,
|
||||||
|
0, 0, 29, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 6, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
0, 10, 50, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 246, 15,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 5, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 85, 0, 0, 9,
|
||||||
|
130, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 5, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
130, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 140, 0, 0, 20,
|
||||||
|
210, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 7, 0,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
246, 15, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 140, 0,
|
||||||
|
0, 17, 210, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 24, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 24, 0,
|
||||||
|
0, 0, 24, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 8, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
11, 0, 0, 0, 10, 0,
|
||||||
|
0, 0, 246, 15, 16, 0,
|
||||||
|
1, 0, 0, 0, 6, 14,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
41, 0, 0, 7, 130, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
7, 0, 0, 0, 1, 0,
|
||||||
|
0, 7, 130, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 8,
|
||||||
|
0, 0, 140, 0, 0, 11,
|
||||||
|
130, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
12, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 1, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 7,
|
||||||
|
0, 0, 30, 0, 0, 7,
|
||||||
|
130, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
1, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 30, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 140, 0, 0, 11,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 30, 0,
|
||||||
|
0, 7, 130, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 140, 0, 0, 11,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
6, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 21, 0,
|
||||||
|
0, 1, 35, 0, 0, 10,
|
||||||
|
146, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 12, 16, 128,
|
||||||
|
65, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 6, 4, 16, 0,
|
||||||
|
1, 0, 0, 0, 6, 4,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
38, 0, 0, 8, 0, 208,
|
||||||
|
0, 0, 130, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
35, 0, 0, 9, 18, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 9, 18, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
85, 0, 0, 10, 50, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
4, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 45, 0,
|
||||||
|
0, 8, 242, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 6, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
70, 126, 32, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
32, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 31, 0,
|
||||||
|
4, 3, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 41, 0,
|
||||||
|
0, 10, 242, 0, 16, 0,
|
||||||
|
4, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 8, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 8, 0,
|
||||||
|
0, 0, 1, 0, 0, 10,
|
||||||
|
242, 0, 16, 0, 4, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
4, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 255, 0, 255,
|
||||||
|
0, 255, 0, 255, 0, 255,
|
||||||
|
0, 255, 0, 255, 0, 255,
|
||||||
|
85, 0, 0, 10, 242, 0,
|
||||||
|
16, 0, 5, 0, 0, 0,
|
||||||
|
70, 14, 16, 0, 3, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
8, 0, 0, 0, 8, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 1, 0,
|
||||||
|
0, 10, 242, 0, 16, 0,
|
||||||
|
5, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 5, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 255, 0,
|
||||||
|
255, 0, 255, 0, 255, 0,
|
||||||
|
255, 0, 255, 0, 255, 0,
|
||||||
|
255, 0, 30, 0, 0, 7,
|
||||||
|
242, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
4, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 5, 0, 0, 0,
|
||||||
|
21, 0, 0, 1, 164, 0,
|
||||||
|
0, 8, 242, 224, 33, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 86, 5, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 130, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 79, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 31, 0, 4, 3,
|
||||||
|
42, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 78, 0, 0, 8,
|
||||||
|
66, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 0, 208, 0, 0,
|
||||||
|
10, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 35, 0,
|
||||||
|
0, 10, 66, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 128, 65, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 30, 0, 0, 7,
|
||||||
|
130, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
32, 0, 0, 7, 130, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 31, 0,
|
||||||
|
4, 3, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 41, 0,
|
||||||
|
0, 7, 18, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 6, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
30, 0, 0, 8, 18, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
42, 0, 16, 128, 65, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 18, 0, 0, 1,
|
||||||
|
54, 0, 0, 5, 18, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 16, 0,
|
||||||
|
0, 0, 21, 0, 0, 1,
|
||||||
|
18, 0, 0, 1, 54, 0,
|
||||||
|
0, 5, 18, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 64, 0, 0, 0,
|
||||||
|
21, 0, 0, 1, 38, 0,
|
||||||
|
0, 8, 0, 208, 0, 0,
|
||||||
|
18, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
85, 0, 0, 7, 18, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
4, 0, 0, 0, 30, 0,
|
||||||
|
0, 7, 18, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 45, 0, 0, 8,
|
||||||
|
242, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 6, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 126,
|
||||||
|
32, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 31, 0,
|
||||||
|
4, 3, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 41, 0,
|
||||||
|
0, 10, 242, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 8, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 8, 0,
|
||||||
|
0, 0, 1, 0, 0, 10,
|
||||||
|
242, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
2, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 255, 0, 255,
|
||||||
|
0, 255, 0, 255, 0, 255,
|
||||||
|
0, 255, 0, 255, 0, 255,
|
||||||
|
85, 0, 0, 10, 242, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
70, 14, 16, 0, 1, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
8, 0, 0, 0, 8, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 1, 0,
|
||||||
|
0, 10, 242, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 255, 0,
|
||||||
|
255, 0, 255, 0, 255, 0,
|
||||||
|
255, 0, 255, 0, 255, 0,
|
||||||
|
255, 0, 30, 0, 0, 7,
|
||||||
|
242, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
2, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
21, 0, 0, 1, 164, 0,
|
||||||
|
0, 8, 242, 224, 33, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 246, 15, 16, 0,
|
||||||
|
0, 0, 0, 0, 70, 14,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
62, 0, 0, 1, 83, 84,
|
||||||
|
65, 84, 148, 0, 0, 0,
|
||||||
|
109, 0, 0, 0, 6, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 0, 0,
|
||||||
|
23, 0, 0, 0, 5, 0,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 0, 0, 0
|
||||||
|
};
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,985 +0,0 @@
|
||||||
#if 0
|
|
||||||
//
|
|
||||||
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Buffer Definitions:
|
|
||||||
//
|
|
||||||
// cbuffer XeTextureLoadConstants
|
|
||||||
// {
|
|
||||||
//
|
|
||||||
// uint xe_texture_load_is_tiled_3d_endian;// Offset: 0 Size: 4
|
|
||||||
// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4
|
|
||||||
// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4
|
|
||||||
// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4
|
|
||||||
// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12
|
|
||||||
// uint xe_texture_load_host_offset; // Offset: 28 Size: 4
|
|
||||||
// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4
|
|
||||||
// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused]
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Resource Bindings:
|
|
||||||
//
|
|
||||||
// Name Type Format Dim ID HLSL Bind Count
|
|
||||||
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
|
||||||
// xe_texture_load_source texture uint4 buf T0 t0 1
|
|
||||||
// xe_texture_load_dest UAV uint4 buf U0 u0 1
|
|
||||||
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Input signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// no Input
|
|
||||||
//
|
|
||||||
// Output signature:
|
|
||||||
//
|
|
||||||
// Name Index Mask Register SysValue Format Used
|
|
||||||
// -------------------- ----- ------ -------- -------- ------- ------
|
|
||||||
// no Output
|
|
||||||
cs_5_1
|
|
||||||
dcl_globalFlags refactoringAllowed
|
|
||||||
dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0
|
|
||||||
dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0
|
|
||||||
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
|
||||||
dcl_input vThreadID.xyz
|
|
||||||
dcl_temps 4
|
|
||||||
dcl_thread_group 2, 32, 1
|
|
||||||
ishl r0.x, vThreadID.x, l(4)
|
|
||||||
mov r0.yz, vThreadID.yyzy
|
|
||||||
uge r1.xyz, r0.xyzx, CB0[0][1].xyzx
|
|
||||||
or r0.z, r1.y, r1.x
|
|
||||||
or r0.z, r1.z, r0.z
|
|
||||||
if_nz r0.z
|
|
||||||
ret
|
|
||||||
endif
|
|
||||||
ishl r0.yz, r0.xxyx, l(0, 1, 1, 0)
|
|
||||||
ishl r0.w, CB0[0][1].y, l(1)
|
|
||||||
imad r0.z, vThreadID.z, r0.w, r0.z
|
|
||||||
imad r0.y, r0.z, CB0[0][2].x, r0.y
|
|
||||||
iadd r0.y, r0.y, CB0[0][1].w
|
|
||||||
ushr r0.z, CB0[0][2].x, l(4)
|
|
||||||
and r0.w, CB0[0][0].x, l(1)
|
|
||||||
if_nz r0.w
|
|
||||||
and r1.x, CB0[0][0].x, l(2)
|
|
||||||
if_nz r1.x
|
|
||||||
ishr r1.xyz, vThreadID.yzyy, l(4, 2, 3, 0)
|
|
||||||
ushr r2.xy, CB0[0][0].wzww, l(4, 5, 0, 0)
|
|
||||||
imad r1.x, r1.y, r2.x, r1.x
|
|
||||||
ibfe r1.w, l(27), l(1), vThreadID.x
|
|
||||||
imad r1.x, r1.x, r2.y, r1.w
|
|
||||||
ishl r1.w, vThreadID.y, l(8)
|
|
||||||
ishr r1.w, r1.w, l(6)
|
|
||||||
iadd r1.y, r1.y, r1.z
|
|
||||||
and r1.z, r1.y, l(1)
|
|
||||||
ishr r2.x, r0.x, l(3)
|
|
||||||
bfi r1.y, l(1), l(1), r1.y, l(0)
|
|
||||||
iadd r1.y, r1.y, r2.x
|
|
||||||
bfi r1.y, l(2), l(1), r1.y, l(0)
|
|
||||||
iadd r1.y, r1.y, r1.z
|
|
||||||
and r1.zw, r1.wwww, l(0, 0, 16, 8)
|
|
||||||
bfi r2.xy, l(22, 22, 0, 0), l(8, 11, 0, 0), r1.xxxx, l(0, 0, 0, 0)
|
|
||||||
imad r1.xz, r1.zzzz, l(2, 0, 16, 0), r2.xxyx
|
|
||||||
bfi r1.xz, l(5, 0, 5, 0), l(0, 0, 3, 0), r1.wwww, r1.xxzx
|
|
||||||
bfi r1.xz, l(2, 0, 2, 0), l(6, 0, 9, 0), vThreadID.zzzz, r1.xxzx
|
|
||||||
ubfe r1.w, l(3), l(6), r1.x
|
|
||||||
and r2.x, r1.y, l(4)
|
|
||||||
bfi r1.y, l(2), l(8), r1.y, l(0)
|
|
||||||
imad r1.y, r1.w, l(32), r1.y
|
|
||||||
imad r1.y, r2.x, l(4), r1.y
|
|
||||||
bfi r1.xz, l(1, 0, 1, 0), l(4, 0, 7, 0), vThreadID.yyyy, r1.xxzx
|
|
||||||
bfi r1.y, l(9), l(3), r1.y, r1.z
|
|
||||||
bfi r1.x, l(6), l(0), r1.x, r1.y
|
|
||||||
else
|
|
||||||
ibfe r1.y, l(27), l(1), vThreadID.x
|
|
||||||
ishr r1.zw, vThreadID.yyyy, l(0, 0, 5, 2)
|
|
||||||
ushr r2.x, CB0[0][0].z, l(5)
|
|
||||||
imad r1.y, r1.z, r2.x, r1.y
|
|
||||||
ishl r2.xy, vThreadID.yyyy, l(2, 7, 0, 0)
|
|
||||||
ishl r1.z, r2.x, l(1)
|
|
||||||
and r1.z, r1.z, l(96)
|
|
||||||
bfi r2.z, l(25), l(7), r1.y, r1.z
|
|
||||||
and r2.xy, r2.xyxx, l(8, 2048, 0, 0)
|
|
||||||
iadd r2.z, r2.z, r2.x
|
|
||||||
bfi r2.z, l(1), l(4), vThreadID.y, r2.z
|
|
||||||
ishl r3.xy, r1.zzzz, l(3, 2, 0, 0)
|
|
||||||
bfi r1.yz, l(0, 25, 25, 0), l(0, 10, 9, 0), r1.yyyy, r3.xxyx
|
|
||||||
imad r1.yz, r2.xxxx, l(0, 8, 4, 0), r1.yyzy
|
|
||||||
bfi r1.yz, l(0, 1, 1, 0), l(0, 7, 6, 0), vThreadID.yyyy, r1.yyzy
|
|
||||||
bfi r1.y, l(12), l(0), r2.y, r1.y
|
|
||||||
and r1.z, r1.z, l(1792)
|
|
||||||
iadd r1.y, r1.y, r1.z
|
|
||||||
and r1.z, r1.w, l(2)
|
|
||||||
ishr r1.w, r0.x, l(3)
|
|
||||||
iadd r1.z, r1.w, r1.z
|
|
||||||
bfi r1.z, l(2), l(6), r1.z, l(0)
|
|
||||||
iadd r1.y, r1.y, r1.z
|
|
||||||
bfi r1.x, l(6), l(0), r2.z, r1.y
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
imad r1.y, vThreadID.z, CB0[0][0].w, vThreadID.y
|
|
||||||
imad r1.x, r1.y, CB0[0][0].z, r0.x
|
|
||||||
endif
|
|
||||||
iadd r0.x, r1.x, CB0[0][0].y
|
|
||||||
ushr r0.xy, r0.xyxx, l(2, 4, 0, 0)
|
|
||||||
ld r1.xyzw, r0.xxxx, T0[0].xyzw
|
|
||||||
iadd r2.x, r0.x, l(1)
|
|
||||||
ld r2.xyzw, r2.xxxx, T0[0].ywxz
|
|
||||||
mov r3.xy, r1.ywyy
|
|
||||||
mov r3.zw, r2.xxxy
|
|
||||||
mov r2.xy, r1.xzxx
|
|
||||||
bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r2.xyzw
|
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, r1.xyzw
|
|
||||||
iadd r1.x, r0.z, r0.y
|
|
||||||
ushr r2.xyzw, r2.xyzw, l(16, 16, 16, 16)
|
|
||||||
bfi r2.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r2.xyzw, r3.xyzw
|
|
||||||
store_uav_typed U0[0].xyzw, r1.xxxx, r2.xyzw
|
|
||||||
movc r0.w, r0.w, l(16), l(2)
|
|
||||||
iadd r0.x, r0.w, r0.x
|
|
||||||
ld r1.xyzw, r0.xxxx, T0[0].xyzw
|
|
||||||
iadd r0.xy, r0.xyxx, l(1, 1, 0, 0)
|
|
||||||
ld r2.xyzw, r0.xxxx, T0[0].ywxz
|
|
||||||
mov r3.xy, r1.ywyy
|
|
||||||
mov r3.zw, r2.xxxy
|
|
||||||
mov r2.xy, r1.xzxx
|
|
||||||
bfi r1.xyzw, l(16, 16, 16, 16), l(16, 16, 16, 16), r3.xyzw, r2.xyzw
|
|
||||||
store_uav_typed U0[0].xyzw, r0.yyyy, r1.xyzw
|
|
||||||
iadd r0.x, r0.z, r0.y
|
|
||||||
ushr r1.xyzw, r2.xyzw, l(16, 16, 16, 16)
|
|
||||||
bfi r1.xyzw, l(16, 16, 16, 16), l(0, 0, 0, 0), r1.xyzw, r3.xyzw
|
|
||||||
store_uav_typed U0[0].xyzw, r0.xxxx, r1.xyzw
|
|
||||||
ret
|
|
||||||
// Approximately 104 instruction slots used
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const BYTE texture_load_8bpb_2x_cs[] =
|
|
||||||
{
|
|
||||||
68, 88, 66, 67, 238, 242,
|
|
||||||
98, 170, 134, 172, 114, 145,
|
|
||||||
94, 121, 60, 248, 181, 154,
|
|
||||||
196, 139, 1, 0, 0, 0,
|
|
||||||
76, 19, 0, 0, 5, 0,
|
|
||||||
0, 0, 52, 0, 0, 0,
|
|
||||||
24, 4, 0, 0, 40, 4,
|
|
||||||
0, 0, 56, 4, 0, 0,
|
|
||||||
176, 18, 0, 0, 82, 68,
|
|
||||||
69, 70, 220, 3, 0, 0,
|
|
||||||
1, 0, 0, 0, 248, 0,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
60, 0, 0, 0, 1, 5,
|
|
||||||
83, 67, 0, 5, 4, 0,
|
|
||||||
177, 3, 0, 0, 19, 19,
|
|
||||||
68, 37, 60, 0, 0, 0,
|
|
||||||
24, 0, 0, 0, 40, 0,
|
|
||||||
0, 0, 40, 0, 0, 0,
|
|
||||||
36, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
180, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 12, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 203, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 12, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 224, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
120, 101, 95, 116, 101, 120,
|
|
||||||
116, 117, 114, 101, 95, 108,
|
|
||||||
111, 97, 100, 95, 115, 111,
|
|
||||||
117, 114, 99, 101, 0, 120,
|
|
||||||
101, 95, 116, 101, 120, 116,
|
|
||||||
117, 114, 101, 95, 108, 111,
|
|
||||||
97, 100, 95, 100, 101, 115,
|
|
||||||
116, 0, 88, 101, 84, 101,
|
|
||||||
120, 116, 117, 114, 101, 76,
|
|
||||||
111, 97, 100, 67, 111, 110,
|
|
||||||
115, 116, 97, 110, 116, 115,
|
|
||||||
0, 171, 224, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 16, 1,
|
|
||||||
0, 0, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 80, 2, 0, 0,
|
|
||||||
0, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
124, 2, 0, 0, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
160, 2, 0, 0, 4, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 124, 2,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 189, 2,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 124, 2, 0, 0,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 225, 2, 0, 0,
|
|
||||||
12, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
124, 2, 0, 0, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
19, 3, 0, 0, 16, 0,
|
|
||||||
0, 0, 12, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 56, 3,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 92, 3,
|
|
||||||
0, 0, 28, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 124, 2, 0, 0,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 120, 3, 0, 0,
|
|
||||||
32, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
124, 2, 0, 0, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 255, 255,
|
|
||||||
255, 255, 0, 0, 0, 0,
|
|
||||||
147, 3, 0, 0, 36, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 124, 2,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
255, 255, 255, 255, 0, 0,
|
|
||||||
0, 0, 255, 255, 255, 255,
|
|
||||||
0, 0, 0, 0, 120, 101,
|
|
||||||
95, 116, 101, 120, 116, 117,
|
|
||||||
114, 101, 95, 108, 111, 97,
|
|
||||||
100, 95, 105, 115, 95, 116,
|
|
||||||
105, 108, 101, 100, 95, 51,
|
|
||||||
100, 95, 101, 110, 100, 105,
|
|
||||||
97, 110, 0, 100, 119, 111,
|
|
||||||
114, 100, 0, 171, 171, 171,
|
|
||||||
0, 0, 19, 0, 1, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 115, 2, 0, 0,
|
|
||||||
120, 101, 95, 116, 101, 120,
|
|
||||||
116, 117, 114, 101, 95, 108,
|
|
||||||
111, 97, 100, 95, 103, 117,
|
|
||||||
101, 115, 116, 95, 111, 102,
|
|
||||||
102, 115, 101, 116, 0, 120,
|
|
||||||
101, 95, 116, 101, 120, 116,
|
|
||||||
117, 114, 101, 95, 108, 111,
|
|
||||||
97, 100, 95, 103, 117, 101,
|
|
||||||
115, 116, 95, 112, 105, 116,
|
|
||||||
99, 104, 95, 97, 108, 105,
|
|
||||||
103, 110, 101, 100, 0, 120,
|
|
||||||
101, 95, 116, 101, 120, 116,
|
|
||||||
117, 114, 101, 95, 108, 111,
|
|
||||||
97, 100, 95, 103, 117, 101,
|
|
||||||
115, 116, 95, 122, 95, 115,
|
|
||||||
116, 114, 105, 100, 101, 95,
|
|
||||||
98, 108, 111, 99, 107, 95,
|
|
||||||
114, 111, 119, 115, 95, 97,
|
|
||||||
108, 105, 103, 110, 101, 100,
|
|
||||||
0, 120, 101, 95, 116, 101,
|
|
||||||
120, 116, 117, 114, 101, 95,
|
|
||||||
108, 111, 97, 100, 95, 115,
|
|
||||||
105, 122, 101, 95, 98, 108,
|
|
||||||
111, 99, 107, 115, 0, 117,
|
|
||||||
105, 110, 116, 51, 0, 171,
|
|
||||||
171, 171, 1, 0, 19, 0,
|
|
||||||
1, 0, 3, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 47, 3,
|
|
||||||
0, 0, 120, 101, 95, 116,
|
|
||||||
101, 120, 116, 117, 114, 101,
|
|
||||||
95, 108, 111, 97, 100, 95,
|
|
||||||
104, 111, 115, 116, 95, 111,
|
|
||||||
102, 102, 115, 101, 116, 0,
|
|
||||||
120, 101, 95, 116, 101, 120,
|
|
||||||
116, 117, 114, 101, 95, 108,
|
|
||||||
111, 97, 100, 95, 104, 111,
|
|
||||||
115, 116, 95, 112, 105, 116,
|
|
||||||
99, 104, 0, 120, 101, 95,
|
|
||||||
116, 101, 120, 116, 117, 114,
|
|
||||||
101, 95, 108, 111, 97, 100,
|
|
||||||
95, 104, 101, 105, 103, 104,
|
|
||||||
116, 95, 116, 101, 120, 101,
|
|
||||||
108, 115, 0, 77, 105, 99,
|
|
||||||
114, 111, 115, 111, 102, 116,
|
|
||||||
32, 40, 82, 41, 32, 72,
|
|
||||||
76, 83, 76, 32, 83, 104,
|
|
||||||
97, 100, 101, 114, 32, 67,
|
|
||||||
111, 109, 112, 105, 108, 101,
|
|
||||||
114, 32, 49, 48, 46, 49,
|
|
||||||
0, 171, 171, 171, 73, 83,
|
|
||||||
71, 78, 8, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 8, 0,
|
|
||||||
0, 0, 79, 83, 71, 78,
|
|
||||||
8, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
83, 72, 69, 88, 112, 14,
|
|
||||||
0, 0, 81, 0, 5, 0,
|
|
||||||
156, 3, 0, 0, 106, 8,
|
|
||||||
0, 1, 89, 0, 0, 7,
|
|
||||||
70, 142, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
88, 8, 0, 7, 70, 126,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 68, 68, 0, 0,
|
|
||||||
0, 0, 0, 0, 156, 8,
|
|
||||||
0, 7, 70, 238, 49, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
68, 68, 0, 0, 0, 0,
|
|
||||||
0, 0, 95, 0, 0, 2,
|
|
||||||
114, 0, 2, 0, 104, 0,
|
|
||||||
0, 2, 4, 0, 0, 0,
|
|
||||||
155, 0, 0, 4, 2, 0,
|
|
||||||
0, 0, 32, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 41, 0,
|
|
||||||
0, 6, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
2, 0, 1, 64, 0, 0,
|
|
||||||
4, 0, 0, 0, 54, 0,
|
|
||||||
0, 4, 98, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 86, 6,
|
|
||||||
2, 0, 80, 0, 0, 9,
|
|
||||||
114, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 2, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 130,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 60, 0, 0, 7,
|
|
||||||
66, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
60, 0, 0, 7, 66, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 31, 0,
|
|
||||||
4, 3, 42, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 21, 0, 0, 1,
|
|
||||||
41, 0, 0, 10, 98, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
6, 1, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 41, 0,
|
|
||||||
0, 9, 130, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 26, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 35, 0,
|
|
||||||
0, 8, 66, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
2, 0, 58, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
35, 0, 0, 11, 34, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 9,
|
|
||||||
34, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 58, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 85, 0, 0, 9,
|
|
||||||
66, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 4, 0,
|
|
||||||
0, 0, 1, 0, 0, 9,
|
|
||||||
130, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 1, 0,
|
|
||||||
0, 0, 31, 0, 4, 3,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 10, 128, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 31, 0, 4, 3,
|
|
||||||
10, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 0, 9,
|
|
||||||
114, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 150, 5, 2, 0,
|
|
||||||
2, 64, 0, 0, 4, 0,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 85, 0, 0, 12,
|
|
||||||
50, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 182, 143, 48, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 4, 0,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 139, 0, 0, 8,
|
|
||||||
130, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
27, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 2, 0, 35, 0,
|
|
||||||
0, 9, 18, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 41, 0,
|
|
||||||
0, 6, 130, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 26, 0,
|
|
||||||
2, 0, 1, 64, 0, 0,
|
|
||||||
8, 0, 0, 0, 42, 0,
|
|
||||||
0, 7, 130, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 58, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 6, 0,
|
|
||||||
0, 0, 30, 0, 0, 7,
|
|
||||||
34, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
1, 0, 0, 7, 66, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 42, 0,
|
|
||||||
0, 7, 18, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 3, 0,
|
|
||||||
0, 0, 140, 0, 0, 11,
|
|
||||||
34, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 34, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 140, 0, 0, 11,
|
|
||||||
34, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
2, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 34, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 10,
|
|
||||||
194, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 246, 15, 16, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
140, 0, 0, 20, 50, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 22, 0,
|
|
||||||
0, 0, 22, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
8, 0, 0, 0, 11, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 12,
|
|
||||||
82, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 1, 16, 0, 2, 0,
|
|
||||||
0, 0, 140, 0, 0, 17,
|
|
||||||
82, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
5, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 3, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
246, 15, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 2, 16, 0,
|
|
||||||
1, 0, 0, 0, 140, 0,
|
|
||||||
0, 16, 82, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 6, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
9, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 166, 10, 2, 0,
|
|
||||||
6, 2, 16, 0, 1, 0,
|
|
||||||
0, 0, 138, 0, 0, 9,
|
|
||||||
130, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
3, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 6, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 7,
|
|
||||||
18, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
140, 0, 0, 11, 34, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
8, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 0, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
34, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 58, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 32, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 35, 0, 0, 9,
|
|
||||||
34, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 140, 0, 0, 16,
|
|
||||||
82, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 7, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 2, 0, 6, 2,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
140, 0, 0, 11, 34, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 9, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
3, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 140, 0, 0, 11,
|
|
||||||
18, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
6, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 18, 0,
|
|
||||||
0, 1, 139, 0, 0, 8,
|
|
||||||
34, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
27, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 2, 0, 42, 0,
|
|
||||||
0, 9, 194, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 86, 5,
|
|
||||||
2, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 5, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 85, 0,
|
|
||||||
0, 9, 18, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 42, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
5, 0, 0, 0, 35, 0,
|
|
||||||
0, 9, 34, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
10, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 41, 0,
|
|
||||||
0, 9, 50, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 86, 5,
|
|
||||||
2, 0, 2, 64, 0, 0,
|
|
||||||
2, 0, 0, 0, 7, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 41, 0,
|
|
||||||
0, 7, 66, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 10, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 7,
|
|
||||||
66, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 96, 0, 0, 0,
|
|
||||||
140, 0, 0, 11, 66, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 25, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
7, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 10,
|
|
||||||
50, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 70, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 8, 0, 0, 0,
|
|
||||||
0, 8, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 66, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 140, 0,
|
|
||||||
0, 10, 66, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 4, 0,
|
|
||||||
0, 0, 26, 0, 2, 0,
|
|
||||||
42, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 41, 0, 0, 10,
|
|
||||||
50, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 166, 10, 16, 0,
|
|
||||||
1, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
2, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
140, 0, 0, 17, 98, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 0, 0,
|
|
||||||
0, 0, 25, 0, 0, 0,
|
|
||||||
25, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 10, 0,
|
|
||||||
0, 0, 9, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 86, 5,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 1, 16, 0, 3, 0,
|
|
||||||
0, 0, 35, 0, 0, 12,
|
|
||||||
98, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
8, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 6, 16, 0, 1, 0,
|
|
||||||
0, 0, 140, 0, 0, 16,
|
|
||||||
98, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
7, 0, 0, 0, 6, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 2, 0, 86, 6,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
140, 0, 0, 11, 34, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 12, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 1, 0, 0, 7,
|
|
||||||
66, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 0, 7, 0, 0,
|
|
||||||
30, 0, 0, 7, 34, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 0,
|
|
||||||
0, 7, 66, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 58, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 2, 0,
|
|
||||||
0, 0, 42, 0, 0, 7,
|
|
||||||
130, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 3, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 66, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 140, 0,
|
|
||||||
0, 11, 66, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 6, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 34, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 140, 0,
|
|
||||||
0, 11, 18, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 6, 0, 0, 0,
|
|
||||||
1, 64, 0, 0, 0, 0,
|
|
||||||
0, 0, 42, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 26, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
21, 0, 0, 1, 18, 0,
|
|
||||||
0, 1, 35, 0, 0, 9,
|
|
||||||
34, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 42, 0, 2, 0,
|
|
||||||
58, 128, 48, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 26, 0,
|
|
||||||
2, 0, 35, 0, 0, 11,
|
|
||||||
18, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 42, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 21, 0,
|
|
||||||
0, 1, 30, 0, 0, 9,
|
|
||||||
18, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 26, 128,
|
|
||||||
48, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 85, 0, 0, 10,
|
|
||||||
50, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
4, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
45, 0, 0, 8, 242, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 126, 32, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 30, 0, 0, 7,
|
|
||||||
18, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 1, 0, 0, 0,
|
|
||||||
45, 0, 0, 8, 242, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 214, 120, 32, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 54, 0, 0, 5,
|
|
||||||
50, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 214, 5, 16, 0,
|
|
||||||
1, 0, 0, 0, 54, 0,
|
|
||||||
0, 5, 194, 0, 16, 0,
|
|
||||||
3, 0, 0, 0, 6, 4,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
54, 0, 0, 5, 50, 0,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
134, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 140, 0, 0, 17,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
70, 14, 16, 0, 3, 0,
|
|
||||||
0, 0, 70, 14, 16, 0,
|
|
||||||
2, 0, 0, 0, 164, 0,
|
|
||||||
0, 8, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 86, 5, 16, 0,
|
|
||||||
0, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
42, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 26, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 85, 0,
|
|
||||||
0, 10, 242, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 140, 0, 0, 17,
|
|
||||||
242, 0, 16, 0, 2, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
70, 14, 16, 0, 2, 0,
|
|
||||||
0, 0, 70, 14, 16, 0,
|
|
||||||
3, 0, 0, 0, 164, 0,
|
|
||||||
0, 8, 242, 224, 33, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 6, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 2, 0, 0, 0,
|
|
||||||
55, 0, 0, 9, 130, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 1, 64, 0, 0,
|
|
||||||
16, 0, 0, 0, 1, 64,
|
|
||||||
0, 0, 2, 0, 0, 0,
|
|
||||||
30, 0, 0, 7, 18, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
58, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 10, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 45, 0,
|
|
||||||
0, 8, 242, 0, 16, 0,
|
|
||||||
1, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 126, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
30, 0, 0, 10, 50, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
70, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
1, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 45, 0,
|
|
||||||
0, 8, 242, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 6, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
214, 120, 32, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
54, 0, 0, 5, 50, 0,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
214, 5, 16, 0, 1, 0,
|
|
||||||
0, 0, 54, 0, 0, 5,
|
|
||||||
194, 0, 16, 0, 3, 0,
|
|
||||||
0, 0, 6, 4, 16, 0,
|
|
||||||
2, 0, 0, 0, 54, 0,
|
|
||||||
0, 5, 50, 0, 16, 0,
|
|
||||||
2, 0, 0, 0, 134, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
140, 0, 0, 17, 242, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 3, 0, 0, 0,
|
|
||||||
70, 14, 16, 0, 2, 0,
|
|
||||||
0, 0, 164, 0, 0, 8,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
86, 5, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 14, 16, 0,
|
|
||||||
1, 0, 0, 0, 30, 0,
|
|
||||||
0, 7, 18, 0, 16, 0,
|
|
||||||
0, 0, 0, 0, 42, 0,
|
|
||||||
16, 0, 0, 0, 0, 0,
|
|
||||||
26, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 85, 0, 0, 10,
|
|
||||||
242, 0, 16, 0, 1, 0,
|
|
||||||
0, 0, 70, 14, 16, 0,
|
|
||||||
2, 0, 0, 0, 2, 64,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
140, 0, 0, 17, 242, 0,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
2, 64, 0, 0, 16, 0,
|
|
||||||
0, 0, 16, 0, 0, 0,
|
|
||||||
16, 0, 0, 0, 16, 0,
|
|
||||||
0, 0, 2, 64, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 70, 14,
|
|
||||||
16, 0, 1, 0, 0, 0,
|
|
||||||
70, 14, 16, 0, 3, 0,
|
|
||||||
0, 0, 164, 0, 0, 8,
|
|
||||||
242, 224, 33, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
6, 0, 16, 0, 0, 0,
|
|
||||||
0, 0, 70, 14, 16, 0,
|
|
||||||
1, 0, 0, 0, 62, 0,
|
|
||||||
0, 1, 83, 84, 65, 84,
|
|
||||||
148, 0, 0, 0, 104, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 1, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
37, 0, 0, 0, 18, 0,
|
|
||||||
0, 0, 4, 0, 0, 0,
|
|
||||||
3, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 4, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 7, 0, 0, 0,
|
|
||||||
1, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 4, 0,
|
|
||||||
0, 0
|
|
||||||
};
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,922 @@
|
||||||
|
#if 0
|
||||||
|
//
|
||||||
|
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Buffer Definitions:
|
||||||
|
//
|
||||||
|
// cbuffer XeTextureLoadConstants
|
||||||
|
// {
|
||||||
|
//
|
||||||
|
// uint xe_texture_load_is_tiled_3d_endian_scale;// Offset: 0 Size: 4
|
||||||
|
// uint xe_texture_load_guest_offset; // Offset: 4 Size: 4
|
||||||
|
// uint xe_texture_load_guest_pitch_aligned;// Offset: 8 Size: 4
|
||||||
|
// uint xe_texture_load_guest_z_stride_block_rows_aligned;// Offset: 12 Size: 4
|
||||||
|
// uint3 xe_texture_load_size_blocks; // Offset: 16 Size: 12
|
||||||
|
// uint xe_texture_load_host_offset; // Offset: 28 Size: 4
|
||||||
|
// uint xe_texture_load_host_pitch; // Offset: 32 Size: 4
|
||||||
|
// uint xe_texture_load_height_texels;// Offset: 36 Size: 4 [unused]
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Resource Bindings:
|
||||||
|
//
|
||||||
|
// Name Type Format Dim ID HLSL Bind Count
|
||||||
|
// ------------------------------ ---------- ------- ----------- ------- -------------- ------
|
||||||
|
// xe_texture_load_source texture uint2 buf T0 t0 1
|
||||||
|
// xe_texture_load_dest UAV uint4 buf U0 u0 1
|
||||||
|
// XeTextureLoadConstants cbuffer NA NA CB0 cb0 1
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Input signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// no Input
|
||||||
|
//
|
||||||
|
// Output signature:
|
||||||
|
//
|
||||||
|
// Name Index Mask Register SysValue Format Used
|
||||||
|
// -------------------- ----- ------ -------- -------- ------- ------
|
||||||
|
// no Output
|
||||||
|
cs_5_1
|
||||||
|
dcl_globalFlags refactoringAllowed
|
||||||
|
dcl_constantbuffer CB0[0:0][3], immediateIndexed, space=0
|
||||||
|
dcl_resource_buffer (uint,uint,uint,uint) T0[0:0], space=0
|
||||||
|
dcl_uav_typed_buffer (uint,uint,uint,uint) U0[0:0], space=0
|
||||||
|
dcl_input vThreadID.xyz
|
||||||
|
dcl_temps 5
|
||||||
|
dcl_thread_group 2, 32, 1
|
||||||
|
ishl r0.x, vThreadID.x, l(4)
|
||||||
|
mov r0.yz, vThreadID.yyzy
|
||||||
|
uge r0.yzw, r0.xxyz, CB0[0][1].xxyz
|
||||||
|
or r0.y, r0.z, r0.y
|
||||||
|
or r0.y, r0.w, r0.y
|
||||||
|
if_nz r0.y
|
||||||
|
ret
|
||||||
|
endif
|
||||||
|
imad r0.y, vThreadID.z, CB0[0][1].y, vThreadID.y
|
||||||
|
imad r0.y, r0.y, CB0[0][2].x, r0.x
|
||||||
|
iadd r0.y, r0.y, CB0[0][1].w
|
||||||
|
and r0.z, CB0[0][0].x, l(2)
|
||||||
|
ubfe r1.xy, l(2, 2, 0, 0), l(4, 6, 0, 0), CB0[0][0].xxxx
|
||||||
|
ushr r2.x, r0.x, l(3)
|
||||||
|
mov r2.y, vThreadID.y
|
||||||
|
udiv r0.xw, null, r2.xxxy, r1.xxxy
|
||||||
|
if_nz r0.z
|
||||||
|
ishr r1.zw, r0.wwww, l(0, 0, 4, 3)
|
||||||
|
ishr r0.z, vThreadID.z, l(2)
|
||||||
|
ushr r2.zw, CB0[0][0].wwwz, l(0, 0, 4, 5)
|
||||||
|
imad r1.z, r0.z, r2.z, r1.z
|
||||||
|
ibfe r3.xy, l(27, 29, 0, 0), l(2, 0, 0, 0), r0.xxxx
|
||||||
|
imad r1.z, r1.z, r2.w, r3.x
|
||||||
|
ishl r2.z, r0.w, l(8)
|
||||||
|
ishr r2.z, r2.z, l(6)
|
||||||
|
iadd r0.z, r0.z, r1.w
|
||||||
|
bfi r1.w, l(1), l(1), r0.z, l(0)
|
||||||
|
iadd r1.w, r1.w, r3.y
|
||||||
|
bfi r1.w, l(2), l(1), r1.w, l(0)
|
||||||
|
bfi r0.z, l(1), l(0), r0.z, r1.w
|
||||||
|
and r2.zw, r2.zzzz, l(0, 0, 16, 8)
|
||||||
|
bfi r1.zw, l(0, 0, 22, 22), l(0, 0, 8, 11), r1.zzzz, l(0, 0, 0, 0)
|
||||||
|
imad r1.zw, r2.zzzz, l(0, 0, 2, 16), r1.zzzw
|
||||||
|
bfi r1.zw, l(0, 0, 5, 5), l(0, 0, 0, 3), r2.wwww, r1.zzzw
|
||||||
|
bfi r1.zw, l(0, 0, 2, 2), l(0, 0, 6, 9), vThreadID.zzzz, r1.zzzw
|
||||||
|
ubfe r2.z, l(3), l(6), r1.z
|
||||||
|
and r2.w, r0.z, l(6)
|
||||||
|
bfi r0.z, l(1), l(8), r0.z, l(0)
|
||||||
|
imad r0.z, r2.z, l(32), r0.z
|
||||||
|
imad r0.z, r2.w, l(4), r0.z
|
||||||
|
bfi r1.zw, l(0, 0, 1, 1), l(0, 0, 4, 7), r0.wwww, r1.zzzw
|
||||||
|
bfi r0.z, l(9), l(3), r0.z, r1.w
|
||||||
|
bfi r0.z, l(6), l(0), r1.z, r0.z
|
||||||
|
else
|
||||||
|
ibfe r1.zw, l(0, 0, 27, 29), l(0, 0, 2, 0), r0.xxxx
|
||||||
|
ishr r2.zw, r0.wwww, l(0, 0, 5, 2)
|
||||||
|
ushr r3.x, CB0[0][0].z, l(5)
|
||||||
|
imad r1.z, r2.z, r3.x, r1.z
|
||||||
|
ishl r3.xy, r0.wwww, l(2, 7, 0, 0)
|
||||||
|
ishl r2.z, r3.x, l(1)
|
||||||
|
and r2.z, r2.z, l(96)
|
||||||
|
bfi r3.z, l(25), l(7), r1.z, r2.z
|
||||||
|
and r3.xy, r3.xyxx, l(8, 2048, 0, 0)
|
||||||
|
iadd r3.z, r3.z, r3.x
|
||||||
|
ishl r4.xy, r2.zzzz, l(3, 2, 0, 0)
|
||||||
|
bfi r4.xy, l(25, 25, 0, 0), l(10, 9, 0, 0), r1.zzzz, r4.xyxx
|
||||||
|
imad r3.xw, r3.xxxx, l(8, 0, 0, 4), r4.xxxy
|
||||||
|
bfi r3.xzw, l(1, 0, 1, 1), l(7, 0, 4, 6), r0.wwww, r3.xxzw
|
||||||
|
bfi r1.z, l(12), l(0), r3.y, r3.x
|
||||||
|
and r2.z, r3.w, l(1792)
|
||||||
|
iadd r1.z, r1.z, r2.z
|
||||||
|
and r2.z, r2.w, l(2)
|
||||||
|
iadd r1.w, r1.w, r2.z
|
||||||
|
bfi r1.w, l(2), l(6), r1.w, l(0)
|
||||||
|
iadd r1.z, r1.z, r1.w
|
||||||
|
bfi r0.z, l(6), l(0), r3.z, r1.z
|
||||||
|
endif
|
||||||
|
imad r0.xw, -r0.xxxw, r1.xxxy, r2.xxxy
|
||||||
|
imul null, r1.z, r1.y, r1.x
|
||||||
|
imad r0.x, r0.x, r1.y, r0.w
|
||||||
|
ishl r0.x, r0.x, l(3)
|
||||||
|
imad r0.x, r0.z, r1.z, r0.x
|
||||||
|
iadd r0.x, r0.x, CB0[0][0].y
|
||||||
|
ushr r0.xy, r0.xyxx, l(3, 4, 0, 0)
|
||||||
|
ld r3.xy, r0.xxxx, T0[0].xyzw
|
||||||
|
ult r0.z, l(1), r1.x
|
||||||
|
if_nz r0.z
|
||||||
|
udiv r0.z, null, r2.x, r1.x
|
||||||
|
imad r0.z, -r0.z, r1.x, r2.x
|
||||||
|
iadd r0.w, r0.z, l(1)
|
||||||
|
ieq r0.w, r1.x, r0.w
|
||||||
|
if_nz r0.w
|
||||||
|
ishl r0.w, r1.x, l(6)
|
||||||
|
ishl r0.z, r0.z, l(3)
|
||||||
|
iadd r0.z, -r0.z, r0.w
|
||||||
|
else
|
||||||
|
mov r0.z, l(8)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
mov r0.z, l(64)
|
||||||
|
endif
|
||||||
|
imul null, r0.z, r1.y, r0.z
|
||||||
|
ushr r0.z, r0.z, l(3)
|
||||||
|
iadd r0.x, r0.z, r0.x
|
||||||
|
ld r3.zw, r0.xxxx, T0[0].zwxy
|
||||||
|
store_uav_typed U0[0].xyzw, r0.yyyy, r3.xyzw
|
||||||
|
ret
|
||||||
|
// Approximately 97 instruction slots used
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const BYTE texture_load_8bpb_scaled_cs[] =
|
||||||
|
{
|
||||||
|
68, 88, 66, 67, 240, 96,
|
||||||
|
141, 60, 254, 240, 162, 218,
|
||||||
|
255, 165, 237, 94, 178, 76,
|
||||||
|
40, 219, 1, 0, 0, 0,
|
||||||
|
252, 17, 0, 0, 5, 0,
|
||||||
|
0, 0, 52, 0, 0, 0,
|
||||||
|
28, 4, 0, 0, 44, 4,
|
||||||
|
0, 0, 60, 4, 0, 0,
|
||||||
|
96, 17, 0, 0, 82, 68,
|
||||||
|
69, 70, 224, 3, 0, 0,
|
||||||
|
1, 0, 0, 0, 248, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
60, 0, 0, 0, 1, 5,
|
||||||
|
83, 67, 0, 5, 4, 0,
|
||||||
|
181, 3, 0, 0, 19, 19,
|
||||||
|
68, 37, 60, 0, 0, 0,
|
||||||
|
24, 0, 0, 0, 40, 0,
|
||||||
|
0, 0, 40, 0, 0, 0,
|
||||||
|
36, 0, 0, 0, 12, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
180, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 203, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 224, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
120, 101, 95, 116, 101, 120,
|
||||||
|
116, 117, 114, 101, 95, 108,
|
||||||
|
111, 97, 100, 95, 115, 111,
|
||||||
|
117, 114, 99, 101, 0, 120,
|
||||||
|
101, 95, 116, 101, 120, 116,
|
||||||
|
117, 114, 101, 95, 108, 111,
|
||||||
|
97, 100, 95, 100, 101, 115,
|
||||||
|
116, 0, 88, 101, 84, 101,
|
||||||
|
120, 116, 117, 114, 101, 76,
|
||||||
|
111, 97, 100, 67, 111, 110,
|
||||||
|
115, 116, 97, 110, 116, 115,
|
||||||
|
0, 171, 224, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 16, 1,
|
||||||
|
0, 0, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 80, 2, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
128, 2, 0, 0, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
164, 2, 0, 0, 4, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 128, 2,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 193, 2,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 128, 2, 0, 0,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 229, 2, 0, 0,
|
||||||
|
12, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
128, 2, 0, 0, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
23, 3, 0, 0, 16, 0,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 60, 3,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 96, 3,
|
||||||
|
0, 0, 28, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 128, 2, 0, 0,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 124, 3, 0, 0,
|
||||||
|
32, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
128, 2, 0, 0, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 255, 255,
|
||||||
|
255, 255, 0, 0, 0, 0,
|
||||||
|
151, 3, 0, 0, 36, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 128, 2,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
255, 255, 255, 255, 0, 0,
|
||||||
|
0, 0, 255, 255, 255, 255,
|
||||||
|
0, 0, 0, 0, 120, 101,
|
||||||
|
95, 116, 101, 120, 116, 117,
|
||||||
|
114, 101, 95, 108, 111, 97,
|
||||||
|
100, 95, 105, 115, 95, 116,
|
||||||
|
105, 108, 101, 100, 95, 51,
|
||||||
|
100, 95, 101, 110, 100, 105,
|
||||||
|
97, 110, 95, 115, 99, 97,
|
||||||
|
108, 101, 0, 100, 119, 111,
|
||||||
|
114, 100, 0, 171, 0, 0,
|
||||||
|
19, 0, 1, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
121, 2, 0, 0, 120, 101,
|
||||||
|
95, 116, 101, 120, 116, 117,
|
||||||
|
114, 101, 95, 108, 111, 97,
|
||||||
|
100, 95, 103, 117, 101, 115,
|
||||||
|
116, 95, 111, 102, 102, 115,
|
||||||
|
101, 116, 0, 120, 101, 95,
|
||||||
|
116, 101, 120, 116, 117, 114,
|
||||||
|
101, 95, 108, 111, 97, 100,
|
||||||
|
95, 103, 117, 101, 115, 116,
|
||||||
|
95, 112, 105, 116, 99, 104,
|
||||||
|
95, 97, 108, 105, 103, 110,
|
||||||
|
101, 100, 0, 120, 101, 95,
|
||||||
|
116, 101, 120, 116, 117, 114,
|
||||||
|
101, 95, 108, 111, 97, 100,
|
||||||
|
95, 103, 117, 101, 115, 116,
|
||||||
|
95, 122, 95, 115, 116, 114,
|
||||||
|
105, 100, 101, 95, 98, 108,
|
||||||
|
111, 99, 107, 95, 114, 111,
|
||||||
|
119, 115, 95, 97, 108, 105,
|
||||||
|
103, 110, 101, 100, 0, 120,
|
||||||
|
101, 95, 116, 101, 120, 116,
|
||||||
|
117, 114, 101, 95, 108, 111,
|
||||||
|
97, 100, 95, 115, 105, 122,
|
||||||
|
101, 95, 98, 108, 111, 99,
|
||||||
|
107, 115, 0, 117, 105, 110,
|
||||||
|
116, 51, 0, 171, 171, 171,
|
||||||
|
1, 0, 19, 0, 1, 0,
|
||||||
|
3, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 51, 3, 0, 0,
|
||||||
|
120, 101, 95, 116, 101, 120,
|
||||||
|
116, 117, 114, 101, 95, 108,
|
||||||
|
111, 97, 100, 95, 104, 111,
|
||||||
|
115, 116, 95, 111, 102, 102,
|
||||||
|
115, 101, 116, 0, 120, 101,
|
||||||
|
95, 116, 101, 120, 116, 117,
|
||||||
|
114, 101, 95, 108, 111, 97,
|
||||||
|
100, 95, 104, 111, 115, 116,
|
||||||
|
95, 112, 105, 116, 99, 104,
|
||||||
|
0, 120, 101, 95, 116, 101,
|
||||||
|
120, 116, 117, 114, 101, 95,
|
||||||
|
108, 111, 97, 100, 95, 104,
|
||||||
|
101, 105, 103, 104, 116, 95,
|
||||||
|
116, 101, 120, 101, 108, 115,
|
||||||
|
0, 77, 105, 99, 114, 111,
|
||||||
|
115, 111, 102, 116, 32, 40,
|
||||||
|
82, 41, 32, 72, 76, 83,
|
||||||
|
76, 32, 83, 104, 97, 100,
|
||||||
|
101, 114, 32, 67, 111, 109,
|
||||||
|
112, 105, 108, 101, 114, 32,
|
||||||
|
49, 48, 46, 49, 0, 171,
|
||||||
|
171, 171, 73, 83, 71, 78,
|
||||||
|
8, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
79, 83, 71, 78, 8, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
8, 0, 0, 0, 83, 72,
|
||||||
|
69, 88, 28, 13, 0, 0,
|
||||||
|
81, 0, 5, 0, 71, 3,
|
||||||
|
0, 0, 106, 8, 0, 1,
|
||||||
|
89, 0, 0, 7, 70, 142,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 88, 8,
|
||||||
|
0, 7, 70, 126, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
68, 68, 0, 0, 0, 0,
|
||||||
|
0, 0, 156, 8, 0, 7,
|
||||||
|
70, 238, 49, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 68, 68,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
95, 0, 0, 2, 114, 0,
|
||||||
|
2, 0, 104, 0, 0, 2,
|
||||||
|
5, 0, 0, 0, 155, 0,
|
||||||
|
0, 4, 2, 0, 0, 0,
|
||||||
|
32, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 41, 0, 0, 6,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 2, 0,
|
||||||
|
1, 64, 0, 0, 4, 0,
|
||||||
|
0, 0, 54, 0, 0, 4,
|
||||||
|
98, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 86, 6, 2, 0,
|
||||||
|
80, 0, 0, 9, 226, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
6, 9, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 137, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
60, 0, 0, 7, 34, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 60, 0,
|
||||||
|
0, 7, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 31, 0, 4, 3,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 62, 0, 0, 1,
|
||||||
|
21, 0, 0, 1, 35, 0,
|
||||||
|
0, 9, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
2, 0, 26, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
26, 0, 2, 0, 35, 0,
|
||||||
|
0, 11, 34, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 128, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 9, 34, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 128, 48, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 9, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
10, 128, 48, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
138, 0, 0, 17, 50, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 2, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
4, 0, 0, 0, 6, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 6, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 85, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
54, 0, 0, 4, 34, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
26, 0, 2, 0, 78, 0,
|
||||||
|
0, 8, 146, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 0, 208,
|
||||||
|
0, 0, 6, 4, 16, 0,
|
||||||
|
2, 0, 0, 0, 6, 4,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
31, 0, 4, 3, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 0, 10, 194, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
246, 15, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
3, 0, 0, 0, 42, 0,
|
||||||
|
0, 6, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
2, 0, 1, 64, 0, 0,
|
||||||
|
2, 0, 0, 0, 85, 0,
|
||||||
|
0, 12, 194, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 246, 139,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
5, 0, 0, 0, 35, 0,
|
||||||
|
0, 9, 66, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 139, 0,
|
||||||
|
0, 15, 50, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 27, 0, 0, 0,
|
||||||
|
29, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 6, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 35, 0,
|
||||||
|
0, 9, 66, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 41, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 8, 0,
|
||||||
|
0, 0, 42, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 130, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 130, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 130, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 1, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
140, 0, 0, 11, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 1, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 1, 0, 0, 10,
|
||||||
|
194, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 166, 10, 16, 0,
|
||||||
|
2, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 16, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
140, 0, 0, 20, 194, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
22, 0, 0, 0, 22, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
11, 0, 0, 0, 166, 10,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 35, 0, 0, 12,
|
||||||
|
194, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 166, 10, 16, 0,
|
||||||
|
2, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 16, 0, 0, 0,
|
||||||
|
166, 14, 16, 0, 1, 0,
|
||||||
|
0, 0, 140, 0, 0, 17,
|
||||||
|
194, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 5, 0, 0, 0,
|
||||||
|
5, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
246, 15, 16, 0, 2, 0,
|
||||||
|
0, 0, 166, 14, 16, 0,
|
||||||
|
1, 0, 0, 0, 140, 0,
|
||||||
|
0, 16, 194, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
6, 0, 0, 0, 9, 0,
|
||||||
|
0, 0, 166, 10, 2, 0,
|
||||||
|
166, 14, 16, 0, 1, 0,
|
||||||
|
0, 0, 138, 0, 0, 9,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
3, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 1, 0, 0, 7,
|
||||||
|
130, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
140, 0, 0, 11, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 1, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
8, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 32, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 140, 0, 0, 17,
|
||||||
|
194, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 7, 0, 0, 0,
|
||||||
|
246, 15, 16, 0, 0, 0,
|
||||||
|
0, 0, 166, 14, 16, 0,
|
||||||
|
1, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 9, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 3, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
140, 0, 0, 11, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 6, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 18, 0, 0, 1,
|
||||||
|
139, 0, 0, 15, 194, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
27, 0, 0, 0, 29, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 6, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 0, 10, 194, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
246, 15, 16, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 5, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 85, 0,
|
||||||
|
0, 9, 18, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 42, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
5, 0, 0, 0, 35, 0,
|
||||||
|
0, 9, 66, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 41, 0,
|
||||||
|
0, 10, 50, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 246, 15,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 2, 0,
|
||||||
|
0, 0, 7, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
96, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 66, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 25, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 7, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
1, 0, 0, 10, 50, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
8, 0, 0, 0, 0, 8,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 30, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 41, 0, 0, 10,
|
||||||
|
50, 0, 16, 0, 4, 0,
|
||||||
|
0, 0, 166, 10, 16, 0,
|
||||||
|
2, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
140, 0, 0, 17, 50, 0,
|
||||||
|
16, 0, 4, 0, 0, 0,
|
||||||
|
2, 64, 0, 0, 25, 0,
|
||||||
|
0, 0, 25, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
10, 0, 0, 0, 9, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 166, 10,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
70, 0, 16, 0, 4, 0,
|
||||||
|
0, 0, 35, 0, 0, 12,
|
||||||
|
146, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 6, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
6, 4, 16, 0, 4, 0,
|
||||||
|
0, 0, 140, 0, 0, 17,
|
||||||
|
210, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 2, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 1, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 7, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 4, 0,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
246, 15, 16, 0, 0, 0,
|
||||||
|
0, 0, 6, 14, 16, 0,
|
||||||
|
3, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 66, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 12, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 26, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
1, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 3, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
0, 7, 0, 0, 30, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 1, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 2, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 130, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
2, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 130, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 2, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 6, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 140, 0,
|
||||||
|
0, 11, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
3, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
21, 0, 0, 1, 35, 0,
|
||||||
|
0, 10, 146, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 6, 12,
|
||||||
|
16, 128, 65, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 6, 4,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
6, 4, 16, 0, 2, 0,
|
||||||
|
0, 0, 38, 0, 0, 8,
|
||||||
|
0, 208, 0, 0, 66, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 35, 0,
|
||||||
|
0, 9, 18, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 58, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 41, 0,
|
||||||
|
0, 7, 18, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 3, 0,
|
||||||
|
0, 0, 35, 0, 0, 9,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 30, 0, 0, 9,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 26, 128,
|
||||||
|
48, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 85, 0, 0, 10,
|
||||||
|
50, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 70, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 2, 64,
|
||||||
|
0, 0, 3, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
45, 0, 0, 8, 50, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
6, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 70, 126, 32, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 79, 0, 0, 7,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
31, 0, 4, 3, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
78, 0, 0, 8, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
0, 208, 0, 0, 10, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
10, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 35, 0, 0, 10,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 128,
|
||||||
|
65, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 2, 0, 0, 0,
|
||||||
|
30, 0, 0, 7, 130, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
1, 0, 0, 0, 32, 0,
|
||||||
|
0, 7, 130, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 1, 0, 0, 0,
|
||||||
|
58, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 31, 0, 4, 3,
|
||||||
|
58, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 41, 0, 0, 7,
|
||||||
|
130, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 10, 0, 16, 0,
|
||||||
|
1, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 6, 0, 0, 0,
|
||||||
|
41, 0, 0, 7, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
42, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
3, 0, 0, 0, 30, 0,
|
||||||
|
0, 8, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
16, 128, 65, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 58, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
18, 0, 0, 1, 54, 0,
|
||||||
|
0, 5, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 1, 64,
|
||||||
|
0, 0, 8, 0, 0, 0,
|
||||||
|
21, 0, 0, 1, 18, 0,
|
||||||
|
0, 1, 54, 0, 0, 5,
|
||||||
|
66, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 1, 64, 0, 0,
|
||||||
|
64, 0, 0, 0, 21, 0,
|
||||||
|
0, 1, 38, 0, 0, 8,
|
||||||
|
0, 208, 0, 0, 66, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
26, 0, 16, 0, 1, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 85, 0,
|
||||||
|
0, 7, 66, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 42, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
1, 64, 0, 0, 3, 0,
|
||||||
|
0, 0, 30, 0, 0, 7,
|
||||||
|
18, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 42, 0, 16, 0,
|
||||||
|
0, 0, 0, 0, 10, 0,
|
||||||
|
16, 0, 0, 0, 0, 0,
|
||||||
|
45, 0, 0, 8, 194, 0,
|
||||||
|
16, 0, 3, 0, 0, 0,
|
||||||
|
6, 0, 16, 0, 0, 0,
|
||||||
|
0, 0, 230, 116, 32, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 164, 0, 0, 8,
|
||||||
|
242, 224, 33, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
86, 5, 16, 0, 0, 0,
|
||||||
|
0, 0, 70, 14, 16, 0,
|
||||||
|
3, 0, 0, 0, 62, 0,
|
||||||
|
0, 1, 83, 84, 65, 84,
|
||||||
|
148, 0, 0, 0, 97, 0,
|
||||||
|
0, 0, 5, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
39, 0, 0, 0, 18, 0,
|
||||||
|
0, 0, 5, 0, 0, 0,
|
||||||
|
4, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 4, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0
|
||||||
|
};
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1163
src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_scaled_cs.h
generated
Normal file
1163
src/xenia/gpu/shaders/bytecode/d3d12_5_1/texture_load_depth_unorm_scaled_cs.h
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue