blob: b71a943dd7ca03ae3e923a5e335f4f88897a5173 [file] [log] [blame]
<!DOCTYPE html>
<meta charset=utf-8>
<title>Basic GPUTexture Tests.</title>
<body>
<canvas width="400" height="400"></canvas>
<script src="js/webgpu-functions.js"></script>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script>
const canvas = document.querySelector("canvas");
let context;
let texSize = {
width: canvas.width,
height: canvas.height,
depth: 1
};
let texDescriptor = {
size: texSize,
format: "depth32float-stencil8",
usage: GPUTextureUsage.OUTPUT_ATTACHMENT
};
promise_test(() => {
return getBasicDevice().then(function(device) {
swapChain = createBasicSwapChain(canvas, device);
const texture = swapChain.getCurrentTexture();
assert_true(texture instanceof GPUTexture, "Successfully acquired next texture.");
const textureView = texture.createDefaultView();
assert_true(textureView instanceof GPUTextureView, "Successfully created texture view from next texture.");
}, function() {
});
}, "Create texture view from swap chain.");
promise_test(() => {
return getBasicDevice().then(function(device) {
const depthTexture = device.createTexture(texDescriptor);
assert_true(depthTexture instanceof GPUTexture, "Successfully created depth texture.");
}, function() {
});
}, "Create basic depth texture from device.");
promise_test(() => {
return getBasicDevice().then(function(device) {
texDescriptor.sampleCount = 4;
texDescriptor.format = "rgba8unorm";
texDescriptor.usage = GPUTextureUsage.SAMPLED | GPUTextureUsage.COPY_SRC
const multisampledTexture = device.createTexture(texDescriptor);
assert_true(multisampledTexture instanceof GPUTexture, "Successfully created multisampled texture.");
}, function() {
});
}, "Create basic 4x multisampled texture.");
promise_test(() => {
return getBasicDevice().then(function(device) {
texDescriptor.size.depth = 3;
texDescriptor.sampleCount = 1;
texDescriptor.dimension = "3d";
const texture3d = device.createTexture(texDescriptor);
assert_true(texture3d instanceof GPUTexture, "Successfully created basic 3D texture.");
}, function() {
});
}, "Create basic 3D texture from device.");
promise_test(() => {
return getBasicDevice().then(function(device) {
texDescriptor.format = "rgba8unorm";
texDescriptor.usage = GPUTextureUsage.OUTPUT_ATTACHMENT | GPUTextureUsage.SAMPLED;
const renderTarget = device.createTexture(texDescriptor);
assert_true(renderTarget instanceof GPUTexture, "Successfully created off-screen render target.");
const textureView = renderTarget.createDefaultView();
assert_true(textureView instanceof GPUTextureView, "Successfully created texture view from off-screen render target.");
}, function() {
});
}, "Create a render target texture (which can be sampled) from device.");
// FIXME: Add tests for 1D textures, textureArrays, and GPUTextureViews.
</script>
</body>
</html>