# Objective
- It's pretty common for users to want to read data back from the gpu
and into the main world
## Solution
- Add a simple example that shows how to read data back from the gpu and
send it to the main world using a channel.
- The example is largely based on this wgpu example but adapted to bevy
-
fb305b85f6/examples/src/repeated_compute/mod.rs
---------
Co-authored-by: stormy <120167078+stowmyy@users.noreply.github.com>
Co-authored-by: Torstein Grindvik <52322338+torsteingrindvik@users.noreply.github.com>
		
	
			
		
			
				
	
	
		
			13 lines
		
	
	
		
			469 B
		
	
	
	
		
			WebGPU Shading Language
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			469 B
		
	
	
	
		
			WebGPU Shading Language
		
	
	
	
	
	
// This shader is used for the gpu_readback example
 | 
						|
// The actual work it does is not important for the example
 | 
						|
 | 
						|
// This is the data that lives in the gpu only buffer
 | 
						|
@group(0) @binding(0) var<storage, read_write> data: array<u32>;
 | 
						|
 | 
						|
@compute @workgroup_size(1)
 | 
						|
fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
 | 
						|
    // We use the global_id to index the array to make sure we don't
 | 
						|
    // access data used in another workgroup
 | 
						|
    data[global_id.x] += 1u;
 | 
						|
}
 |